YMaps.ObjectManager

Расширяет YMaps.IOverlay.

Диспетчер объектов.

Объект YMaps.ObjectManager позволяет скрывать и показывать объекты на карте, в зависимости от текущего коэффициента масштабирования и видимой области карты. Диспетчер позволяет одновременно управлять большим количеством объектов, обеспечивая приемлемую производительность.

Принцип работы диспетчера:

Карта мира покрывается виртуальной сеткой с квадратными ячейками заданного размера. Объекты, которыми управляет YMaps.ObjectManager, помещаются в ячейки, соответствующие их положению на карте. При перетаскивании карты и/или смене масштаба отображаются объекты только из тех ячеек, которые оказываются в пределах текущей видимой области карты. Объекты из остальных ячеек скрываются.

Для кэширования объектов, находящихся вблизи границ видимой области, но за ее пределами, можно расширить границы области управления диспетчера на необходимое расстояние.

См.: Диспетчер объектов

Конструктор

Имя Описание
YMaps.ObjectManager(options)

Создает диспетчер для управления видимостью объектов-оверлеев на карте.

Методы

Имя Описание
add(object, minZoom, maxZoom) Добавляет метку или массив меток в диспетчер.
remove(object) Удаляет метку из диспетчера объектов.
removeAll() Удаляет все метки и сбрасывает состояние.

Наследуемые методы

Из YMaps.IOverlay:
onAddToMap, onMapUpdate, onRemoveFromMap

Подробное описание конструктора

YMaps.ObjectManager(options)

Создает диспетчер для управления видимостью объектов-оверлеев на карте.

См.: Диспетчер объектов

Параметры:

Имя Тип Необязательный По умолчанию Описание
options Object Опции диспетчера объектов.
options.cellSize Number 256 Размер ячейки виртуальной сетки (в пикселах).
options.padding Number 100 Расстояние от видимых границ карты (в пикселах), на которое требуется отодвинуть границы области управления диспетчера.
options.trackObjects Boolean true true - обрабатывать изменение координат объектов на карте и пересчитывать условия их видимости, false - нет.

Подробное описание методов

add

add(object, minZoom, maxZoom)

Добавляет метку или массив меток в диспетчер. Если в момент вызова метода ячейка сетки, в которую попала добавляемая метка, отображается на карте, то и метка будет отображаться.

Параметры:

Имя Тип Необязательный По умолчанию Описание
object YMaps.Placemark|YMaps.Placemark[] Добавляемая метка или массив меток.
minZoom Number 0 Минимальное значение коэффициента масштабирования, при котором метка будет видна.
maxZoom Number Infinity Максимальное значение коэффициента масштабирования, при котором метка будет видна.

remove

remove(object)

Удаляет метку из диспетчера объектов. Метка будет удалена, если в момент вызова метода ячейка сетки, в которой находится удаляемая метка отображается на карте,

Параметры:

Имя Тип Описание
object YMaps.Placemark|YMaps.Placemark[] Ссылка на удаляемую метку.

removeAll

removeAll()

Удаляет все метки и сбрасывает состояние.