YMaps.ObjectManager
Расширяет YMaps.IOverlay.
Диспетчер объектов.
Объект YMaps.ObjectManager позволяет скрывать и показывать объекты на карте, в зависимости от текущего коэффициента масштабирования и видимой области карты. Диспетчер позволяет одновременно управлять большим количеством объектов, обеспечивая приемлемую производительность.
Принцип работы диспетчера:
Карта мира покрывается виртуальной сеткой с квадратными ячейками заданного размера. Объекты, которыми управляет YMaps.ObjectManager, помещаются в ячейки, соответствующие их положению на карте. При перетаскивании карты и/или смене масштаба отображаются объекты только из тех ячеек, которые оказываются в пределах текущей видимой области карты. Объекты из остальных ячеек скрываются.
Для кэширования объектов, находящихся вблизи границ видимой области, но за ее пределами, можно расширить границы области управления диспетчера на необходимое расстояние.
См.: Диспетчер объектов
Конструктор
Имя | Описание |
---|---|
YMaps.ObjectManager(options) | Создает диспетчер для управления видимостью объектов-оверлеев на карте. |
Методы
Имя | Описание |
---|---|
add(object, minZoom, maxZoom) | Добавляет метку или массив меток в диспетчер. |
remove(object) | Удаляет метку из диспетчера объектов. |
removeAll() | Удаляет все метки и сбрасывает состояние. |
Наследуемые методы
Подробное описание конструктора
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()
Удаляет все метки и сбрасывает состояние.