GeoObjectCollection

Расширяет IGeoObject, IGeoObjectCollection.

Коллекция геообъектов. Позволяет группировать геообъекты для добавления на карту, задания опций и т.д. Коллекция также является геообъектом.

Конструктор | Поля | События | Методы

Конструктор

GeoObjectCollection([feature[, options]])

Создает коллекцию геообъектов.

Параметры:

Параметр Значение по умолчанию Описание
feature

Тип: Object

Описание коллекции. Функционально соответствует описанию геообъекта. См.: GeoObject

feature.children

Тип: IGeoObject[]

Массив дочерних геообъектов.

feature.geometry

Тип: IGeometry|Object

Геометрия коллекции.

feature.properties

Тип: IDataManager|Object

Данные коллекции.

options

Тип: 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());

Поля

Имя Тип Описание
events IEventManager

Менеджер событий.

Унаследовано от IDomEventEmitter.

geometry IGeometry|null

Геометрия геообъекта.

Унаследовано от IGeoObject.

options IOptionManager

Менеджер опций.

Унаследовано от ICustomizable.

properties IDataManager

Данные геообъекта.

Унаследовано от IGeoObject.

state IDataManager

Состояние геообъекта.

Унаследовано от IGeoObject.

События

Имя Описание
add
Добавлен (вставлен) дочерний геообъект. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • index: Integer - индекс добавленного геообъекта;
  • child: IGeoObject - ссылка на добавленный геообъект.

Унаследовано от IGeoObjectCollection.

boundschange

Изменение координат географической области, охватывающей коллекцию и все ее дочерние геообъекты. Экземпляр класса Event.

click

Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

contextmenu

Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

dblclick

Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

geometrychange
Изменение геометрии геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • originalEvent: IEvent - оригинальное событие геометрии.

Унаследовано от IGeoObject.

mapchange
Сменилась карта. Поля данных:
  • oldMap - старая карта;
  • newMap - новая карта.

Унаследовано от IParentOnMap.

mousedown

Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

mouseenter

Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

mouseleave

Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

mousemove

Перемещение курсора над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

mouseup

Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

multitouchend

Окончание мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent.

Унаследовано от IDomEventEmitter.

multitouchmove
Повторящееся событие при мультисенсорном управлении. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Определяет свойство touches, которое содержит список прикосновений. Каждое прикосновение описано объектом, которое содержит поля:
  • clientX - координата касания X относительно видимой области браузера;
  • clientY - координата касания Y относительно видимой области браузера;
  • pageX - координата касания X касания относительно начала документа;
  • pageY - координата касания Y касания относительно начала документа.

Унаследовано от IDomEventEmitter.

multitouchstart
Начало мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Определяет свойство touches, которое содержит список прикосновений. Каждое прикосновение описано объектом, которое содержит поля:
  • clientX - координата касания X относительно видимой области браузера;
  • clientY - координата касания Y относительно видимой области браузера;
  • pageX - координата касания X касания относительно начала документа;
  • pageY - координата касания Y касания относительно начала документа.

Унаследовано от IDomEventEmitter.

optionschange

Изменение в опциях объекта.

Унаследовано от ICustomizable.

overlaychange
Изменение оверлея геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • overlay: IOverlay|null - ссылка на оверлей;
  • oldOverlay: IOverlay|null - предыдущий оверлей геообъекта.

Унаследовано от IGeoObject.

parentchange

Сменился родительский объект.

Поля данных:

  • oldParent - старый родитель;
  • newParent - новый родитель.

Унаследовано от IChild.

pixelboundschange

Изменение пиксельных координат области, охватывающей коллекцию и все ее дочерние геообъекты. Экземпляр класса Event.

propertieschange
Изменение данных геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • originalEvent: IEvent - оригинальное событие менеджера данных.

Унаследовано от IGeoObject.

remove
Удален дочерний геообъект. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • index: Integer — индекс удаленного геообъекта;
  • child: IGeoObject — ссылка на удаленный геообъект.

Унаследовано от IGeoObjectCollection.

set
В коллекцию записан новый дочерний геообъект. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • index: Integer - индекс геообъекта;
  • child:IGeoObject - ссылка на новый геообъект;
  • prevChild: IGeoObject — ссылка на предыдущее значение для данного индекса.

Унаследовано от IGeoObjectCollection.

wheel

Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.

Унаследовано от IDomEventEmitter.

Методы

Имя Возвращает Описание
add(child)

GeoObjectCollection

Добавляет геообъект в коллекцию.

each(callback[, context])

Перебирает все элементы коллекции, вызывая для каждого функцию-обработчик.

get(index)

IGeoObject

Возвращает дочерний геообъект с заданным индексом.

Унаследован от IGeoObjectCollection.

getBounds()

Number[][]|null

Возвращает географические координаты области, охватывающей коллекцию и все ее дочерние геообъекты.

getIterator()

IIterator

Возвращает итератор по коллекции.

getLength()

Integer

Возвращает количество геообъектов в коллекции.

getMap()

Map

Возвращает ссылку на карту.

Унаследован от IParentOnMap.

getOverlay()

vow.Promise

Возвращает объект-обещание, который подтверждается объектом оверлея в момент его фактического создания, либо отклоняется с передачей соответствующей ошибки.

Унаследован от IGeoObject.

getOverlaySync()

IOverlay|null

Метод предоставляет синхронный доступ к оверлею.

Унаследован от IGeoObject.

getParent()

IParentOnMap|null

Возвращает ссылку на родительский объект или null, если родительский элемент не был установлен.

Унаследован от IChildOnMap.

getPixelBounds()

Number[][]|null

Возвращает глобальные пиксельные координаты области, охватывающей коллекцию и ее дочерние геообъекты.

indexOf(object)

Integer

Возвращает индекс дочернего геообъекта. Если геообъект в коллекции не найден, возвращается -1.

Унаследован от IGeoObjectCollection.

remove(child)

GeoObjectCollection

Удаляет геообъект из коллекции.

removeAll()

GeoObjectCollection

Удаляет из коллекции все геообъекты.

set(index, child)

GeoObjectCollection

Записывает в коллекцию новый дочерний геообъект.

setParent(parent)

IChildOnMap

Устанавливает родительский объект. Если передать значение null, то элемент управления будет только удален из текущего родительского объекта.

Унаследован от IChildOnMap.

splice(index, number)

GeoObjectCollection

Удаляет геообъекты из коллекции. Если необходимо, вставляет на их место другие. Объекты, которые будут вставлены вместо удаляемых, передаются как дополнительные параметры (после параметра number).

toArray()

IGeoObject[]

Возвращает массив, содержащий все геообъекты коллекции на момент вызова.

Описание событий

boundschange

Изменение координат географической области, охватывающей коллекцию и все ее дочерние геообъекты. Экземпляр класса Event.

pixelboundschange

Изменение пиксельных координат области, охватывающей коллекцию и все ее дочерние геообъекты. Экземпляр класса Event.

Описание методов

add

Добавляет геообъект в коллекцию.

Возвращает ссылку на коллекцию.

Параметры:

Параметр Значение по умолчанию Описание
child *

Тип: IGeoObject

Дочерний геообъект.

* Обязательный параметр/опция.

each

{} each(callback[, context])

Перебирает все элементы коллекции, вызывая для каждого функцию-обработчик.

Параметры:

Параметр Значение по умолчанию Описание
callback *

Тип: Function

Функция-обработчик.

context

Тип: 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

Удаляет геообъект из коллекции.

Возвращает ссылку на коллекцию.

Параметры:

Параметр Значение по умолчанию Описание
child *

Тип: IGeoObject

Дочерний геообъект.

* Обязательный параметр/опция.

removeAll

{GeoObjectCollection} removeAll()

Удаляет из коллекции все геообъекты.

Возвращает ссылку на коллекцию.

set

Записывает в коллекцию новый дочерний геообъект.

Возвращает ссылку на себя.

Параметры:

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс.

child *

Тип: IGeoObject

Дочерний геообъект.

* Обязательный параметр/опция.

splice

Удаляет геообъекты из коллекции. Если необходимо, вставляет на их место другие. Объекты, которые будут вставлены вместо удаляемых, передаются как дополнительные параметры (после параметра number).

Возвращает коллекцию удаленных геообъектов.

Параметры:

Параметр Значение по умолчанию Описание
index *

Тип: Integer

Индекс геообъекта, с которого начинается удаление.

number *

Тип: Integer

Количество удаляемых геообъектов.

* Обязательный параметр/опция.

Пример:

// Удаляет второй объект.
myGeoObjects.splice(1, 1);
// Вставляет новый объект obj во вторую позицию.
myGeoObjects.splice(1, 0, obj);
// Заменяет второй объект на новый объект obj.
myGeoObjects.splice(1, 1, obj);

toArray

{IGeoObject[]} toArray()

Возвращает массив, содержащий все геообъекты коллекции на момент вызова.