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

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

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

contextmenu

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

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

dblclick

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

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

geometrychange

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

  • originalEvent: IEvent - оригинальное событие геометрии.

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

mapchange

Сменилась карта. Поля данных:

  • oldMap - старая карта;
  • newMap - новая карта.

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

mousedown

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

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

mouseenter

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

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

mouseleave

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

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

mousemove

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

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

mouseup

Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в 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

Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в 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

{GeoObjectCollection} add(child)

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

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

Параметры:

Параметр

Значение по умолчанию

Описание

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

{GeoObjectCollection} remove(child)

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

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

Параметры:

Параметр

Значение по умолчанию

Описание

child*

Тип: IGeoObject

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

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

removeAll

{GeoObjectCollection} removeAll()

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

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

set

{GeoObjectCollection} set(index, child)

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

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

Параметры:

Параметр

Значение по умолчанию

Описание

index*

Тип: Integer

Индекс.

child*

Тип: IGeoObject

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

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

splice

{GeoObjectCollection} splice(index, number)

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

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

Параметры:

Параметр

Значение по умолчанию

Описание

index*

Тип: Integer

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

number*

Тип: Integer

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

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

Пример:

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

toArray

{IGeoObject[]} toArray()

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

Предыдущая
Следующая