GeoObjectArray
Расширяет IGeoObject, IMapObjectCollection.
Упорядоченная группа геообъектов на базе массива. Обеспечивает быстрые операции на основе порядковых индексов, но поиск объектов в данной группе медленнее чем в коллекции на основе двусвязного списка. Смотрите также GeoObjectCollection.
Конструктор | Поля | События | Методы
Конструктор
Создает упорядоченную группу геообъектов.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
feature | — | Тип: Object Описание группы. Функционально соответствует описанию геообъекта. Смотрите GeoObject. |
feature.geometry | — | Тип: IGeometry|Object Геометрия группы. |
feature.properties | — | Тип: IDataManager|Object Данные группы. |
options | — | Тип: Object Опции группы. Здесь можно задавать все опции описанные в классе GeoObject. Значения опций будут применяться как к самой группе, так и к ее дочерним объектам, если для них данные опции не заданы. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
feature | — | Тип: Object Описание группы. Функционально соответствует описанию геообъекта. Смотрите GeoObject. |
feature.geometry | — | Тип: IGeometry|Object Геометрия группы. |
feature.properties | — | Тип: IDataManager|Object Данные группы. |
options | — | Тип: Object Опции группы. Здесь можно задавать все опции описанные в классе GeoObject. Значения опций будут применяться как к самой группе, так и к ее дочерним объектам, если для них данные опции не заданы. |
Пример:
// Создаем группу геообъектов и задаем опции.
var myGroup = new ymaps.GeoObjectArray({}, {
preset: "twirl#airplaneIcon",
strokeWidth: 4,
geodesic: true
});
// Добавляем в группу метки и линию.
myGroup.add(new ymaps.Placemark([13.38, 52.51]));
myGroup.add(new ymaps.Placemark([30.30, 50.27]));
myGroup.add(new ymaps.Polyline([[13.38, 52.51], [30.30, 50.27]]));
// Добавляем группу на карту.
myMap.geoObjects.add(myGroup);
// Устанавливаем карте центр и масштаб так, чтобы охватить группу целиком.
myMap.setBounds(myGroup.getBounds());
Поля
Имя | Тип | Описание |
---|---|---|
events | IEventManager | Менеджер событий. Унаследовано от IDomEventEmitter. |
geometry | IGeometry | Геометрия геообъекта. Унаследовано от IGeoObject. |
options | IOptionManager | Менеджер опций. Унаследовано от ICustomizable. |
properties | IDataManager | Менеджер данных геообъекта. Унаследовано от IGeoObject. |
state | IDataManager | Состояние геообъекта. Определяется следующими полями:
Унаследовано от IGeoObject. |
Имя | Тип | Описание |
---|---|---|
events | IEventManager | Менеджер событий. Унаследовано от IDomEventEmitter. |
geometry | IGeometry | Геометрия геообъекта. Унаследовано от IGeoObject. |
options | IOptionManager | Менеджер опций. Унаследовано от ICustomizable. |
properties | IDataManager | Менеджер данных геообъекта. Унаследовано от IGeoObject. |
state | IDataManager | Состояние геообъекта. Определяется следующими полями:
Унаследовано от IGeoObject. |
События
Имя | Описание |
---|---|
add | Произошло добавление дочернего объекта. Унаследовано от ICollection. |
boundschange | Изменение координат географической области, охватывающей группу и все ее дочерние геообъекты.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
|
click | Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
contextmenu | Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
dblclick | Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
geometrychange | Изменение геометрии геообъекта.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
mapchange | Сменилась карта.
Поля данных:
Унаследовано от IParentOnMap. |
mousedown | Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
mouseenter | Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
mouseleave | Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
mousemove | Перемещение курсора над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
mouseup | Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
multitouchend | Окончание мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Унаследовано от IDomEventEmitter. |
multitouchmove | Повторящееся событие при мультисенсорном управлении. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Унаследовано от IDomEventEmitter. |
multitouchstart | Начало мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Унаследовано от IDomEventEmitter. |
optionschange | Изменение в опциях объекта. Унаследовано от ICustomizable. |
overlaychange | Изменение оверлея геообъекта.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
parentchange | Сменился родительский объект. Поля данных:
Унаследовано от IChild. |
pixelboundschange | Изменение пиксельных координат области, охватывающей группу и все ее дочерние геообъекты.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
|
pixelgeometrychange | Изменение пиксельной геометрии геообъекта.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
propertieschange | Изменение данных геообъекта.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
remove | Произошло удаление дочернего объекта. Унаследовано от ICollection. |
wheel | Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
Имя | Описание |
---|---|
add | Произошло добавление дочернего объекта. Унаследовано от ICollection. |
boundschange | Изменение координат географической области, охватывающей группу и все ее дочерние геообъекты.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
|
click | Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
contextmenu | Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
dblclick | Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
geometrychange | Изменение геометрии геообъекта.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
mapchange | Сменилась карта.
Поля данных:
Унаследовано от IParentOnMap. |
mousedown | Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
mouseenter | Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
mouseleave | Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
mousemove | Перемещение курсора над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
mouseup | Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
multitouchend | Окончание мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Унаследовано от IDomEventEmitter. |
multitouchmove | Повторящееся событие при мультисенсорном управлении. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Унаследовано от IDomEventEmitter. |
multitouchstart | Начало мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Унаследовано от IDomEventEmitter. |
optionschange | Изменение в опциях объекта. Унаследовано от ICustomizable. |
overlaychange | Изменение оверлея геообъекта.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
parentchange | Сменился родительский объект. Поля данных:
Унаследовано от IChild. |
pixelboundschange | Изменение пиксельных координат области, охватывающей группу и все ее дочерние геообъекты.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
|
pixelgeometrychange | Изменение пиксельной геометрии геообъекта.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
propertieschange | Изменение данных геообъекта.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
remove | Произошло удаление дочернего объекта. Унаследовано от ICollection. |
wheel | Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
Методы
Имя | Возвращает | Описание |
---|---|---|
add(child[, index]) | Добавляет геообъект в группу. | |
each(callback[, context]) | Перебирает все элементы группы, вызывая для каждого функцию-обработчик. | |
get(index) | IGeoObject|null | Returns ссылку на дочерний геообъект, либо null, если объекта с заданным индексом нет в группе. |
getBounds() | Number[][]|null | Returns географические координаты области, охватывающей группу и все ее дочерние геообъекты. |
getIterator() | Returns итератор по группе. | |
getLength() | Returns количество геообъектов в группе. | |
getMap() | Returns ссылку на карту. Унаследован от IParentOnMap. | |
getOverlay() | IOverlay|null | Returns оверлей геообъекта, либо null. Унаследован от IGeoObject. |
getParent() | Returns ссылку на родительский объект. Унаследован от IChildOnMap. | |
getPixelBounds() | Number[][]|null | Returns глобальные пиксельные координаты области, охватывающей группу и все ее дочерние геообъекты. |
indexOf(object) | Integer | Returns индекс геообъекта в группе или -1, если объект не найден. |
remove(child) | Удаляет геообъект из группы. | |
removeAll() | Удаляет из группы все геообъекты. | |
setParent(parent) | Устанавливает родительский объект. Унаследован от IChildOnMap. | |
splice(index, number) | Удаляет геообъекты из группы. Если необходимо, вставляет на их место другие. Объекты, которые будут вставлены вместо удаляемых, передаются как дополнительные параметры (после параметра number). |
Имя | Возвращает | Описание |
---|---|---|
add(child[, index]) | Добавляет геообъект в группу. | |
each(callback[, context]) | Перебирает все элементы группы, вызывая для каждого функцию-обработчик. | |
get(index) | IGeoObject|null | Returns ссылку на дочерний геообъект, либо null, если объекта с заданным индексом нет в группе. |
getBounds() | Number[][]|null | Returns географические координаты области, охватывающей группу и все ее дочерние геообъекты. |
getIterator() | Returns итератор по группе. | |
getLength() | Returns количество геообъектов в группе. | |
getMap() | Returns ссылку на карту. Унаследован от IParentOnMap. | |
getOverlay() | IOverlay|null | Returns оверлей геообъекта, либо null. Унаследован от IGeoObject. |
getParent() | Returns ссылку на родительский объект. Унаследован от IChildOnMap. | |
getPixelBounds() | Number[][]|null | Returns глобальные пиксельные координаты области, охватывающей группу и все ее дочерние геообъекты. |
indexOf(object) | Integer | Returns индекс геообъекта в группе или -1, если объект не найден. |
remove(child) | Удаляет геообъект из группы. | |
removeAll() | Удаляет из группы все геообъекты. | |
setParent(parent) | Устанавливает родительский объект. Унаследован от IChildOnMap. | |
splice(index, number) | Удаляет геообъекты из группы. Если необходимо, вставляет на их место другие. Объекты, которые будут вставлены вместо удаляемых, передаются как дополнительные параметры (после параметра number). |
Описание событий
boundschange
- oldBounds - предыдущая ограничивающая область;
- newBounds - новая ограничивающая область.
pixelboundschange
- oldPixelBounds - предыдущая ограничивающая область;
- newPixelBounds - новая ограничивающая область.
Описание методов
add
{GeoObjectArray} add(child[, index])
Добавляет геообъект в группу.
Returns ссылку на группу.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
child * | — | Тип: IGeoObject Дочерний геообъект. |
index | — | Тип: Integer Индекс, в который добавляется новый объект. Если индекс не задан, то объект будет добавлен в конец группы. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
child * | — | Тип: IGeoObject Дочерний геообъект. |
index | — | Тип: Integer Индекс, в который добавляется новый объект. Если индекс не задан, то объект будет добавлен в конец группы. |
* Обязательный параметр/опция.
each
Перебирает все элементы группы, вызывая для каждого функцию-обработчик.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
callback * | — | Тип: Function Функция-обработчик. |
context | — | Тип: Object Контекст выполнения функции. |
* Обязательный параметр/опция.
Пример:
// Отображаем индекс геообъекта в группе как содержимое его иконки.
myGroup.events.add(["add", "remove"], function () {
this.each(function (el, i) {
el.properties.set("iconContent", i);
})
}, myGroup);
get
{IGeoObject|null} get(index)
Returns ссылку на дочерний геообъект, либо null, если объекта с заданным индексом нет в группе.
Параметры:
* Обязательный параметр/опция.
getBounds
{Number[][]|null} getBounds()
Returns географические координаты области, охватывающей группу и все ее дочерние геообъекты.
getIterator
{IIterator} getIterator()
Returns итератор по группе.
getLength
{GeoObjectArray} getLength()
Returns количество геообъектов в группе.
getPixelBounds
{Number[][]|null} getPixelBounds()
Returns глобальные пиксельные координаты области, охватывающей группу и все ее дочерние геообъекты.
indexOf
{Integer} indexOf(object)
Returns индекс геообъекта в группе или -1, если объект не найден.
Параметры:
* Обязательный параметр/опция.
remove
{GeoObjectArray} remove(child)
Удаляет геообъект из группы.
Returns ссылку на группу.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
child * | — | Тип: IGeoObject Дочерний геообъект. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
child * | — | Тип: IGeoObject Дочерний геообъект. |
* Обязательный параметр/опция.
Пример:
// При клике по геообъекту удаляем его из группы.
myGroup.events.add("click", function (e) {
if (e.get("target").getParent() == this) {
this.remove(e.get("target"));
}
}, myGroup);
removeAll
{GeoObjectArray} removeAll()
Удаляет из группы все геообъекты.
Returns ссылку на группу.
splice
{IGeoObject[]} splice(index, number)
Удаляет геообъекты из группы. Если необходимо, вставляет на их место другие. Объекты, которые будут вставлены вместо удаляемых, передаются как дополнительные параметры (после параметра number).
Returns массив удаленных геообъектов.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
index * | — | Тип: Integer Индекс геообъекта, с которого начинается удаление. |
number * | — | Тип: Integer Количество удаляемых геообъектов. |
* Обязательный параметр/опция.
Пример:
// Удаляет второй объект.
myGroup.splice(1, 1);
// Вставляет новый объект obj во вторую позицию.
myGroup.splice(1, 0, obj);
// Заменяет второй объект на новый объект obj.
myGroup.splice(1, 1, obj);