GeoObjectCollection
Расширяет IGeoObject, IMapObjectCollection.
Коллекция геообъектов на базе двусвязного списка. Обеспечивает быстрое добавление и удаление объектов, но не поддерживает работу с порядковыми индексами. Смотрите также GeoObjectArray.
Конструктор | Поля | События | Методы
Конструктор
Создает коллекцию геообъектов.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
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 myCollection = new ymaps.GeoObjectCollection();
// Добавляем метки в коллекцию.
myCollection.add(new ymaps.Placemark([37.61, 55.75]));
myCollection.add(new ymaps.Placemark([13.38, 52.51]));
myCollection.add(new ymaps.Placemark([30.30, 50.27]));
// При наведении на одну из меток подсвечиваем коллекцию целиком.
myCollection.events
.add("mouseenter", function () {
myCollection.options.set("preset", "twirl#redIcon");
})
.add("mouseleave", function () {
myCollection.options.unset("preset");
});
// Добавляем коллекцию на карту.
myMap.geoObjects.add(myCollection);
// Устанавливаем карте центр и масштаб так, чтобы охватить коллекцию целиком.
myMap.setBounds(myCollection.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) | Добавляет геообъект в коллекцию. | |
each(callback[, context]) | Перебирает все элементы коллекции, вызывая для каждого функцию-обработчик. | |
getBounds() | Number[][]|null | Returns географические координаты области, охватывающей коллекцию и все ее дочерние геообъекты. |
getIterator() | Returns итератор по коллекции. | |
getLength() | Integer | Returns количество геообъектов в коллекции. |
getMap() | Returns ссылку на карту. Унаследован от IParentOnMap. | |
getOverlay() | IOverlay|null | Returns оверлей геообъекта, либо null. Унаследован от IGeoObject. |
getParent() | Returns ссылку на родительский объект. Унаследован от IChildOnMap. | |
getPixelBounds() | Number[][]|null | Returns глобальные пиксельные координаты области, охватывающей коллекцию и все ее дочерние геообъекты. |
remove(child) | Удаляет геообъект из коллекции. | |
removeAll() | Удаляет из коллекции все геообъекты. | |
setParent(parent) | Устанавливает родительский объект. Унаследован от IChildOnMap. |
Имя | Возвращает | Описание |
---|---|---|
add(child) | Добавляет геообъект в коллекцию. | |
each(callback[, context]) | Перебирает все элементы коллекции, вызывая для каждого функцию-обработчик. | |
getBounds() | Number[][]|null | Returns географические координаты области, охватывающей коллекцию и все ее дочерние геообъекты. |
getIterator() | Returns итератор по коллекции. | |
getLength() | Integer | Returns количество геообъектов в коллекции. |
getMap() | Returns ссылку на карту. Унаследован от IParentOnMap. | |
getOverlay() | IOverlay|null | Returns оверлей геообъекта, либо null. Унаследован от IGeoObject. |
getParent() | Returns ссылку на родительский объект. Унаследован от IChildOnMap. | |
getPixelBounds() | Number[][]|null | Returns глобальные пиксельные координаты области, охватывающей коллекцию и все ее дочерние геообъекты. |
remove(child) | Удаляет геообъект из коллекции. | |
removeAll() | Удаляет из коллекции все геообъекты. | |
setParent(parent) | Устанавливает родительский объект. Унаследован от IChildOnMap. |
Описание событий
boundschange
- oldBounds - предыдущая ограничивающая область;
- newBounds - новая ограничивающая область.
pixelboundschange
- oldPixelBounds - предыдущая ограничивающая область;
- newPixelBounds - новая ограничивающая область.
Описание методов
add
{GeoObjectCollection} add(child)
Добавляет геообъект в коллекцию.
Returns ссылку на коллекцию.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
child * | — | Тип: IGeoObject Дочерний геообъект. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
child * | — | Тип: IGeoObject Дочерний геообъект. |
* Обязательный параметр/опция.
each
Перебирает все элементы коллекции, вызывая для каждого функцию-обработчик.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
callback * | — | Тип: Function Функция-обработчик. |
context | — | Тип: Object Контекст выполнения функции. |
* Обязательный параметр/опция.
getBounds
{Number[][]|null} getBounds()
Returns географические координаты области, охватывающей коллекцию и все ее дочерние геообъекты.
Пример:
// Устанавливаем центр и масштаб карты так, чтобы отобразить всю коллекцию целиком.
myMap.setBounds(myCollection.getBounds());
getIterator
{IIterator} getIterator()
Returns итератор по коллекции.
Пример:
// Ищем в коллекции геообъект с геометрией "Ломаная линия".
var iterator = myGroup.getIterator(),
object;
while (object = iterator.getNext()) {
if (object.geometry.getType() == "LineString") {
break;
}
}
getLength
{Integer} getLength()
Returns количество геообъектов в коллекции.
getPixelBounds
{Number[][]|null} getPixelBounds()
Returns глобальные пиксельные координаты области, охватывающей коллекцию и все ее дочерние геообъекты.
remove
{GeoObjectCollection} remove(child)
Удаляет геообъект из коллекции.
Returns ссылку на коллекцию.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
child * | — | Тип: IGeoObject Дочерний геообъект. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
child * | — | Тип: IGeoObject Дочерний геообъект. |
* Обязательный параметр/опция.
removeAll
{GeoObjectCollection} removeAll()
Удаляет из коллекции все геообъекты.
Returns ссылку на коллекцию.