objectManager.ObjectCollection
Расширяет ICollection, ICustomizable.
Коллекция объектов, добавленных в слой.
Конструктор | Поля | События | Методы
Конструктор
objectManager.ObjectCollection()
Поля
Имя | Тип | Описание |
---|---|---|
balloon | objectManager.Balloon | Балун объекта в составе менеджера. |
events | IEventManager | Менеджер событий. Унаследовано от IEventEmitter. |
hint | objectManager.Hint | Хинт объекта в составе ObjectManager. |
options | option.Manager | Менеджер опций. Имена полей, доступных через метод option.Manager.get:
|
overlays | objectManager.OverlayCollection | Коллекция оверлеев одиночных объектов. Все события, за исключением событий add и remove, пропагируются от коллекции оверлеев в коллекцию объектов. |
Имя | Тип | Описание |
---|---|---|
balloon | objectManager.Balloon | Балун объекта в составе менеджера. |
events | IEventManager | Менеджер событий. Унаследовано от IEventEmitter. |
hint | objectManager.Hint | Хинт объекта в составе ObjectManager. |
options | option.Manager | Менеджер опций. Имена полей, доступных через метод option.Manager.get:
|
overlays | objectManager.OverlayCollection | Коллекция оверлеев одиночных объектов. Все события, за исключением событий add и remove, пропагируются от коллекции оверлеев в коллекцию объектов. |
События
Имя | Описание |
---|---|
add | |
objectoptionschange | Изменение опций объекта через метод objectManager.ObjectCollection.setObjectOptions. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
optionschange | Изменение в опциях объекта. Унаследовано от ICustomizable. |
remove |
Имя | Описание |
---|---|
add | |
objectoptionschange | Изменение опций объекта через метод objectManager.ObjectCollection.setObjectOptions. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
optionschange | Изменение в опциях объекта. Унаследовано от ICustomizable. |
remove |
Методы
Имя | Возвращает | Описание |
---|---|---|
add(data) | Метод полностью дублирует логику ObjectManager.add. | |
each(callback, context) | Метод, вызывающий переданную функцию-обработчик для всех элементов коллекции. | |
getAll() | Object[] | Возвращает массив объектов, содержащихся в коллекции. |
getById(id) | Object|null | Возвращает объект или null, если объекта с переданным id не существует. |
getIterator() | Возвращает итератор по коллекции. Унаследован от ICollection. | |
getLength() | Number | Возвращает количество объектов в коллекции. |
getObjectManager() | Возвращает родительский слой объектов коллекции. | |
remove(data) | Метод полностью дублирует логику ObjectManager.remove. | |
removeAll() | Удаляет все элементы коллекции. | |
setObjectOptions(objectId, options) | Метод, позволяющий динамически обновлять опции объекта. Метод следует использовать в случаях, когда вы хотите, чтобы новые опции мгновенно применились к отображению объекта на карте. Обратите внимание, менеджер не учитывает опцию 'visible'. |
Имя | Возвращает | Описание |
---|---|---|
add(data) | Метод полностью дублирует логику ObjectManager.add. | |
each(callback, context) | Метод, вызывающий переданную функцию-обработчик для всех элементов коллекции. | |
getAll() | Object[] | Возвращает массив объектов, содержащихся в коллекции. |
getById(id) | Object|null | Возвращает объект или null, если объекта с переданным id не существует. |
getIterator() | Возвращает итератор по коллекции. Унаследован от ICollection. | |
getLength() | Number | Возвращает количество объектов в коллекции. |
getObjectManager() | Возвращает родительский слой объектов коллекции. | |
remove(data) | Метод полностью дублирует логику ObjectManager.remove. | |
removeAll() | Удаляет все элементы коллекции. | |
setObjectOptions(objectId, options) | Метод, позволяющий динамически обновлять опции объекта. Метод следует использовать в случаях, когда вы хотите, чтобы новые опции мгновенно применились к отображению объекта на карте. Обратите внимание, менеджер не учитывает опцию 'visible'. |
Описание полей
balloon
{objectManager.Balloon} balloon
Балун объекта в составе менеджера.
hint
{objectManager.Hint} hint
Хинт объекта в составе ObjectManager.
options
{option.Manager} options
- hasBalloon - флаг наличия у коллекции поля .balloon. Если при клике на объекте не нужно открывать балун, рекомендуется установить эту опцию в значение false, чтобы избежать лишних инициализаций;
- hasHint - флаг наличия у коллекции поля .hint. Если при наведении на объект не нужно показывать всплывающую подсказку, рекомендуется установить эту опцию в значение false, чтобы избежать лишних инициализаций;
- hideIconOnBalloonOpen - cкрывать иконку при открытии балуна. Значение по умолчанию true.
- openBalloonOnClick - показывать балун при клике на объект. Значение по умолчанию true.
Пример:
// Зададим стили для одиночных объектов в составе коллекции.
objectManager.objects.options.set({
preset: 'islands#redIcon',
hasBalloon: false,
zIndex: 500
});
overlays
{objectManager.OverlayCollection} overlays
Коллекция оверлеев одиночных объектов. Все события, за исключением событий add и remove, пропагируются от коллекции оверлеев в коллекцию объектов.
Пример:
objectManager.objects.overlays.events.add('add', function (e) {
alert('Объект ' + e.get('objectId') + ' показан на карте.');
});
Описание событий
add
objectoptionschange
- objectId - идентификатор объекта, у которого заменили опции.
remove
Описание методов
add
Метод полностью дублирует логику ObjectManager.add.
Возвращает ссылку на себя.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
data * | — | Тип: Object|Object[]|String Объекты, добавляемые в слой. |
* Обязательный параметр/опция.
Пример:
objectManager.objects.add({
type: 'Feature',
geometry: {
type: 'Point',
coordinates: [55.33, 36.64]
}
});
each
Метод, вызывающий переданную функцию-обработчик для всех элементов коллекции.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
callback * | — | Тип: Function Функция-обработчик, в которую передаются объекты коллекции. |
context * | — | Тип: Object Контекст выполнения функции-обработчика. |
* Обязательный параметр/опция.
Пример:
var singleCounter = 0,
clusterCounter = 0;
objectManager.objects.each(function (object) {
var objectState = objectManager.getObjectState(object.id);
if (objectState.isClustered) {
clusterCounter++;
} else {
if (objectState.isShown) {
singleCounter++;
}
}
});
alert('Количество одиночных меток на карте: ' + singleCounter);
alert('Количество кластеризированных меток: ' + clusterCounter);
getAll
{Object[]} getAll()
Возвращает массив объектов, содержащихся в коллекции.
getById
{Object|null} getById(id)
Возвращает объект или null, если объекта с переданным id не существует.
Параметры:
* Обязательный параметр/опция.
Пример:
objectManager.objects.add('click', function (e) {
var objectId = e.get('objectId'),
object = objectManager.objects.getById(objectId);
});
getLength
{Number} getLength()
Возвращает количество объектов в коллекции.
Пример:
alert('Количество объектов в слое: ' + objectManager.objects.getLength());
getObjectManager
{ObjectManager} getObjectManager()
Возвращает родительский слой объектов коллекции.
remove
{objectManager.ObjectCollection} remove(data)
Метод полностью дублирует логику ObjectManager.remove.
Возвращает ссылку на себя.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
data * | — | Тип: Object|Object[]|String Объекты, которые нужно удалить. |
* Обязательный параметр/опция.
Пример:
// Удалим объекты с идентификаторами 34 и 25.
objectManager.objects.remove([34, 25]);
removeAll
{objectManager.ObjectCollection} removeAll()
Удаляет все элементы коллекции.
Возвращает ссылку на себя.
Пример:
objectManager.objects.removeAll();
setObjectOptions
{objectManager.ObjectCollection} setObjectOptions(objectId, options)
Метод, позволяющий динамически обновлять опции объекта. Метод следует использовать в случаях, когда вы хотите, чтобы новые опции мгновенно применились к отображению объекта на карте. Обратите внимание, менеджер не учитывает опцию 'visible'.
Возвращает ссылку на себя.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
objectId * | — | Тип: Object Идентификатор объекта, которому нужно задать опции. |
options * | — | Тип: Object Новые опции объекта. |
* Обязательный параметр/опция.
Пример:
// Меняем цвет иконки при наведении мыши.
objectManager.objects.events.add('mouseenter', function (e) {
var objectId = e.get('objectId'),
overlay = objectManager.objects.overlays.getById(objectId);
setRedColor(objectId);
overlay.events.add('mapchange', setGreenColor);
});
objectManager.objects.events.add('mouseleave', function (e) {
var objectId = e.get('objectId'),
overlay = objectManager.objects.overlays.getById(objectId);
setGreenColor(objectId);
overlay.events.remove('mapchange', setGreenColor);
});
function setGreenColor (objectId) {
objectManager.objects.setObjectOptions(objectId, {
preset: 'islands#greenIcon'
});
}
function setRedColor (objectId) {
objectManager.objects.setClusterOptions(objectId, {
preset: 'islands#redIcon'
});
}