GeoObjectCollection
Расширяет IGeoObject, IGeoObjectCollection.
Коллекция геообъектов. Позволяет группировать геообъекты для добавления на карту, задания опций и т.д. Коллекция также является геообъектом.
Конструктор | Поля | События | Методы
Конструктор
GeoObjectCollection([feature[, options]])
Создает коллекцию геообъектов.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Object Описание коллекции. Функционально соответствует описанию геообъекта. См.: GeoObject |
|
— |
Тип: IGeoObject[] Массив дочерних геообъектов. |
|
— |
Тип: IGeometry|Object Геометрия коллекции. |
|
— |
Тип: IDataManager|Object Данные коллекции. |
|
— |
Тип: Object Опции коллекции. Здесь можно задавать все опции, описанные в классе GeoObject. Значения опций будут применяться как к самой коллекции, так и к ее дочерним объектам, если для них данные опции не определены. |
Пример:
// Создание коллекции геообъектов и настройка параметров.
var myGeoObjects = new ymaps.GeoObjectCollection({}, {
preset: "islands#redCircleIcon",
strokeWidth: 4,
geodesic: true
});
// Добавление меток и полилинии в коллекцию.
myGeoObjects.add(new ymaps.Placemark([13.38, 52.51]));
myGeoObjects.add(new ymaps.Placemark([30.30, 50.27]));
myGeoObjects.add(new ymaps.Polyline([[13.38, 52.51], [30.30, 50.27]]));
// Добавление коллекции на карту.
myMap.geoObjects.add(myGeoObjects);
// Установка центра и масштаба карты таким образом, чтобы вся коллекция была видна.
myMap.setBounds(myGeoObjects.getBounds());
Поля
Имя |
Тип |
Описание |
Менеджер событий. Унаследовано от IDomEventEmitter. |
||
IGeometry|null |
Геометрия геообъекта. Унаследовано от IGeoObject. |
|
Менеджер опций. Унаследовано от ICustomizable. |
||
Данные геообъекта. Унаследовано от IGeoObject. |
||
Состояние геообъекта. Унаследовано от IGeoObject. |
События
Имя |
Описание |
Добавлен (вставлен) дочерний геообъект. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObjectCollection. |
|
Изменение координат географической области, охватывающей коллекцию и все ее дочерние геообъекты. Экземпляр класса Event. |
|
Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Изменение геометрии геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
|
Сменилась карта. Поля данных:
Унаследовано от IParentOnMap. |
|
Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Перемещение курсора над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Окончание мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent. Унаследовано от IDomEventEmitter. |
|
Повторящееся событие при мультисенсорном управлении. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Определяет свойство touches, которое содержит список прикосновений. Каждое прикосновение описано объектом, которое содержит поля:
Унаследовано от IDomEventEmitter. |
|
Начало мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Определяет свойство touches, которое содержит список прикосновений. Каждое прикосновение описано объектом, которое содержит поля:
Унаследовано от IDomEventEmitter. |
|
Изменение в опциях объекта. Унаследовано от ICustomizable. |
|
Изменение оверлея геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
|
Сменился родительский объект. Поля данных:
Унаследовано от IChild. |
|
Изменение пиксельных координат области, охватывающей коллекцию и все ее дочерние геообъекты. Экземпляр класса Event. |
|
Изменение данных геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
|
Удален дочерний геообъект. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObjectCollection. |
|
В коллекцию записан новый дочерний геообъект. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObjectCollection. |
|
Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
Методы
Имя |
Возвращает |
Описание |
Добавляет геообъект в коллекцию. |
||
Перебирает все элементы коллекции, вызывая для каждого функцию-обработчик. |
||
Возвращает дочерний геообъект с заданным индексом. Унаследован от IGeoObjectCollection. |
||
Number[][]|null |
Возвращает географические координаты области, охватывающей коллекцию и все ее дочерние геообъекты. |
|
Возвращает итератор по коллекции. |
||
Integer |
Возвращает количество геообъектов в коллекции. |
|
getMap() |
Возвращает ссылку на карту. Унаследован от IParentOnMap. |
|
Возвращает объект-обещание, который подтверждается объектом оверлея в момент его фактического создания, либо отклоняется с передачей соответствующей ошибки. Унаследован от IGeoObject. |
||
IOverlay|null |
Метод предоставляет синхронный доступ к оверлею. Унаследован от IGeoObject. |
|
IParentOnMap|null |
Возвращает ссылку на родительский объект или null, если родительский элемент не был установлен. Унаследован от IChildOnMap. |
|
Number[][]|null |
Возвращает глобальные пиксельные координаты области, охватывающей коллекцию и ее дочерние геообъекты. |
|
Integer |
Возвращает индекс дочернего геообъекта. Если геообъект в коллекции не найден, возвращается -1. Унаследован от IGeoObjectCollection. |
|
Удаляет геообъект из коллекции. |
||
Удаляет из коллекции все геообъекты. |
||
Записывает в коллекцию новый дочерний геообъект. |
||
Устанавливает родительский объект. Если передать значение null, то элемент управления будет только удален из текущего родительского объекта. Унаследован от IChildOnMap. |
||
Удаляет геообъекты из коллекции. Если необходимо, вставляет на их место другие. Объекты, которые будут вставлены вместо удаляемых, передаются как дополнительные параметры (после параметра number). |
||
toArray() |
Возвращает массив, содержащий все геообъекты коллекции на момент вызова. |
Описание событий
boundschange
Изменение координат географической области, охватывающей коллекцию и все ее дочерние геообъекты. Экземпляр класса Event.
pixelboundschange
Изменение пиксельных координат области, охватывающей коллекцию и все ее дочерние геообъекты. Экземпляр класса Event.
Описание методов
add
{GeoObjectCollection} add(child)
Добавляет геообъект в коллекцию.
Возвращает ссылку на коллекцию.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: IGeoObject Дочерний геообъект. |
* Обязательный параметр/опция.
each
{} each(callback[, context])
Перебирает все элементы коллекции, вызывая для каждого функцию-обработчик.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Function Функция-обработчик. |
|
— |
Тип: Object Контекст исполнения функции. |
* Обязательный параметр/опция.
getBounds
{Number[][]|null} getBounds()
Возвращает географические координаты области, охватывающей коллекцию и все ее дочерние геообъекты.
Пример:
// Устанавливаем центр и масштаб карты так, чтобы отобразить всю коллекцию целиком.
myMap.setBounds(myCollection.getBounds());
getIterator
{IIterator} getIterator()
Возвращает итератор по коллекции.
Пример:
// Найдем в коллекции геообъект с геометрией "Ломаная линия".
var iterator = myGroup.getIterator(),
object;
while ((object = iterator.getNext()) != iterator.STOP_ITERATION) {
if (object.geometry.getType() == "LineString") {
break;
}
}
getLength
{Integer} getLength()
Возвращает количество геообъектов в коллекции.
getPixelBounds
{Number[][]|null} getPixelBounds()
Возвращает глобальные пиксельные координаты области, охватывающей коллекцию и ее дочерние геообъекты.
remove
{GeoObjectCollection} remove(child)
Удаляет геообъект из коллекции.
Возвращает ссылку на коллекцию.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: IGeoObject Дочерний геообъект. |
* Обязательный параметр/опция.
removeAll
{GeoObjectCollection} removeAll()
Удаляет из коллекции все геообъекты.
Возвращает ссылку на коллекцию.
set
{GeoObjectCollection} set(index, child)
Записывает в коллекцию новый дочерний геообъект.
Возвращает ссылку на себя.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Integer Индекс. |
|
— |
Тип: IGeoObject Дочерний геообъект. |
* Обязательный параметр/опция.
splice
{GeoObjectCollection} splice(index, number)
Удаляет геообъекты из коллекции. Если необходимо, вставляет на их место другие. Объекты, которые будут вставлены вместо удаляемых, передаются как дополнительные параметры (после параметра number).
Возвращает коллекцию удаленных геообъектов.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Integer Индекс геообъекта, с которого начинается удаление. |
|
— |
Тип: Integer Количество удаляемых геообъектов. |
* Обязательный параметр/опция.
Пример:
// Удаляет второй объект.
myGeoObjects.splice(1, 1);
// Вставляет новый объект obj во вторую позицию.
myGeoObjects.splice(1, 0, obj);
// Заменяет второй объект на новый объект obj.
myGeoObjects.splice(1, 1, obj);
toArray
{IGeoObject[]} toArray()
Возвращает массив, содержащий все геообъекты коллекции на момент вызова.
Обязательный параметр.