Cluster
Расширяет IGeoObject.
Кластер геообъектов. Используется по умолчанию в Clusterer.
Конструктор | Поля | События | Методы
Конструктор
Cluster(geometry, properties[, options])
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
geometry * | — | Тип: IPointGeometry Геометрия кластера. |
properties * | — | Тип: IDataManager Данные кластера. |
properties.geoObjects * | — | Тип: IGeoObject[] Массив геообъектов, которые находятся в данном кластере. |
options | — | Тип: Object Опции кластера. Помимо частных опций, балун кластера поддерживает те же опции, что и {@link.Balloon}. Опции для балуна кластера указываются с префикcом 'balloon'. |
options.balloonContentBodyLayout | 'cluster#balloonContentBody' | Тип: Function|String Макет балуна кластера. Можно передать конструктор объекта с интерфейсом ILayout
или ключ одного из стандартных макетов. Каждый стандартный макет имеет некоторые собственные опции.
|
options.balloonHeight | — | Тип: Number Высота балуна кластера. Стандартное значение зависит от макета.
|
options.balloonWidth | — | Тип: Number Ширина балуна кластера. Стандартное значение зависит от макета.
|
options.cursor | 'pointer' | Тип: String Курсор над меткой кластера. |
options.disableClickZoom | false | Тип: Boolean Флаг, запрещающий увеличение коэффициента масштабирования карты при клике на кластер. |
options.hideIconOnBalloonOpen | true | Тип: Boolean Скрывать иконку при открытии балуна. |
options.iconContentLayout | 'cluster#iconContent' | Тип: Function|String Макет содержимого метки кластера. (Тип: конструктор объекта с интерфейсом ILayout или ключ макета). |
options.iconLayout | 'cluster#icon' | Тип: Function|String Макет метки кластера (Тип: конструктор объекта с интерфейсом ILayout или ключ макета). |
options.icons | — | Тип: Object[] Массив, описывающий иконки для стандартной реализации кластера. |
options.interactivityModel | 'default#geoObject' | Тип: String Модель интерактивности кластера. Доступные ключи и их значения перечислены в описании interactivityModel.storage. |
options.numbers | [10, 100] | Тип: Number[] Массив, описывающий граничные значения для размеров кластеров. |
options.openBalloonOnClick | true | Тип: Boolean Опция, позволяющая запретить открытие балуна при клике на кластере. По умолчанию открытие балуна разрешено. Количество иконок, описанных в опции "icons", должно быть на 1 больше, чем чисел в данном массиве. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
geometry * | — | Тип: IPointGeometry Геометрия кластера. |
properties * | — | Тип: IDataManager Данные кластера. |
properties.geoObjects * | — | Тип: IGeoObject[] Массив геообъектов, которые находятся в данном кластере. |
options | — | Тип: Object Опции кластера. Помимо частных опций, балун кластера поддерживает те же опции, что и {@link.Balloon}. Опции для балуна кластера указываются с префикcом 'balloon'. |
options.balloonContentBodyLayout | 'cluster#balloonContentBody' | Тип: Function|String Макет балуна кластера. Можно передать конструктор объекта с интерфейсом ILayout
или ключ одного из стандартных макетов. Каждый стандартный макет имеет некоторые собственные опции.
|
options.balloonHeight | — | Тип: Number Высота балуна кластера. Стандартное значение зависит от макета.
|
options.balloonWidth | — | Тип: Number Ширина балуна кластера. Стандартное значение зависит от макета.
|
options.cursor | 'pointer' | Тип: String Курсор над меткой кластера. |
options.disableClickZoom | false | Тип: Boolean Флаг, запрещающий увеличение коэффициента масштабирования карты при клике на кластер. |
options.hideIconOnBalloonOpen | true | Тип: Boolean Скрывать иконку при открытии балуна. |
options.iconContentLayout | 'cluster#iconContent' | Тип: Function|String Макет содержимого метки кластера. (Тип: конструктор объекта с интерфейсом ILayout или ключ макета). |
options.iconLayout | 'cluster#icon' | Тип: Function|String Макет метки кластера (Тип: конструктор объекта с интерфейсом ILayout или ключ макета). |
options.icons | — | Тип: Object[] Массив, описывающий иконки для стандартной реализации кластера. |
options.interactivityModel | 'default#geoObject' | Тип: String Модель интерактивности кластера. Доступные ключи и их значения перечислены в описании interactivityModel.storage. |
options.numbers | [10, 100] | Тип: Number[] Массив, описывающий граничные значения для размеров кластеров. |
options.openBalloonOnClick | true | Тип: Boolean Опция, позволяющая запретить открытие балуна при клике на кластере. По умолчанию открытие балуна разрешено. Количество иконок, описанных в опции "icons", должно быть на 1 больше, чем чисел в данном массиве. |
* Обязательный параметр/опция.
Примеры:
1.
// Переменная с описанием двух видов иконок кластеров.
var clusterIcons = [
{
href: 'small.png',
size: [40, 40],
// Отступ, чтобы центр картинки совпадал с центром кластера.
offset: [-20, -20]
},
{
href: 'big.png',
size: [60, 60],
offset: [-30, -30]
}],
// При размере кластера до 100 будет использована картинка 'small.jpg'.
// При размере кластера больше 100 будет использована 'big.png'.
clusterNumbers = [100],
// Сделаем макет содержимого иконки кластера,
// в котором цифры будут раскрашены в белый цвет.
MyIconContentLayout = ymaps.templateLayoutFactory.createClass(
'<div style="color: #FFFFFF; font-weight: bold;">$[properties.geoObjects.length]</div>'),
var clusterer = new ym.Clusterer({
// Если опции для кластеров задаются через кластеризатор,
// необходимо указывать их с префиксами "cluster".
clusterIcons: clusterIcons,
clusterNumbers: clusterNumbers,
clusterIconContentLayout: MyIconContentLayout
});
2.
// Создание кластеризатора с макетом-каруселью
var clusterer = new ymaps.Clusterer({
clusterDisableClickZoom: true,
// Используем макет "карусель"
clusterBalloonContentBodyLayout: "cluster#balloonCarouselContent",
// Запрещаем зацикливание списка при постраничной навигации
clusterBalloonCycling: false,
// Настройка внешнего вида панели навигации. Элементами панели навигации будут маркеры.
clusterBalloonPagerType: "marker",
// Количество элементов в панели навигации
clusterBalloonPagerSize: 6
});
3.
// Создание кластеризатора с макетом-аккордеоном
var clusterer = new ymaps.Clusterer({
clusterDisableClickZoom: true,
// Используем макет "аккордеон"
clusterBalloonContentBodyLayout: "cluster#balloonAccordionContent"
});
Поля
Имя | Тип | Описание |
---|---|---|
balloon | cluster.Balloon | Балун кластера. |
events | IEventManager | Менеджер событий. Унаследовано от IDomEventEmitter. |
geometry | IGeometry | Геометрия геообъекта. Унаследовано от IGeoObject. |
options | IOptionManager | Менеджер опций. Унаследовано от ICustomizable. |
properties | IDataManager | Менеджер данных геообъекта. Унаследовано от IGeoObject. |
state | data.Manager | Состояние кластера. Определяется следующими полями:
|
Имя | Тип | Описание |
---|---|---|
balloon | cluster.Balloon | Балун кластера. |
events | IEventManager | Менеджер событий. Унаследовано от IDomEventEmitter. |
geometry | IGeometry | Геометрия геообъекта. Унаследовано от IGeoObject. |
options | IOptionManager | Менеджер опций. Унаследовано от ICustomizable. |
properties | IDataManager | Менеджер данных геообъекта. Унаследовано от IGeoObject. |
state | data.Manager | Состояние кластера. Определяется следующими полями:
|
События
Имя | Описание |
---|---|
addtomap | Добавление кластера на карту. Экземпляр класса Event. |
click | Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
contextmenu | Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
dblclick | Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
geometrychange | Изменение геометрии геообъекта.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
mapchange | Сменилась карта.
Поля данных:
Унаследовано от IParentOnMap. |
mousedown | Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
mouseenter | Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
mouseleave | Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
mousemove | Перемещение курсора над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
mouseup | Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
multitouchend | Окончание мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Унаследовано от IDomEventEmitter. |
multitouchmove | Повторящееся событие при мультисенсорном управлении. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Унаследовано от IDomEventEmitter. |
multitouchstart | Начало мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Унаследовано от IDomEventEmitter. |
optionschange | Изменение в опциях объекта. Унаследовано от ICustomizable. |
overlaychange | Изменение оверлея геообъекта.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
parentchange | Сменился родительский объект. Поля данных:
Унаследовано от IChild. |
pixelgeometrychange | Изменение пиксельной геометрии геообъекта.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
propertieschange | Изменение данных геообъекта.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
removefrommap | Удаление кластера с карты. Экземпляр класса Event. |
wheel | Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
Имя | Описание |
---|---|
addtomap | Добавление кластера на карту. Экземпляр класса Event. |
click | Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
contextmenu | Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
dblclick | Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
geometrychange | Изменение геометрии геообъекта.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
mapchange | Сменилась карта.
Поля данных:
Унаследовано от IParentOnMap. |
mousedown | Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
mouseenter | Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
mouseleave | Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
mousemove | Перемещение курсора над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
mouseup | Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
multitouchend | Окончание мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Унаследовано от IDomEventEmitter. |
multitouchmove | Повторящееся событие при мультисенсорном управлении. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Унаследовано от IDomEventEmitter. |
multitouchstart | Начало мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Унаследовано от IDomEventEmitter. |
optionschange | Изменение в опциях объекта. Унаследовано от ICustomizable. |
overlaychange | Изменение оверлея геообъекта.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
parentchange | Сменился родительский объект. Поля данных:
Унаследовано от IChild. |
pixelgeometrychange | Изменение пиксельной геометрии геообъекта.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
propertieschange | Изменение данных геообъекта.
Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
removefrommap | Удаление кластера с карты. Экземпляр класса Event. |
wheel | Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Унаследовано от IDomEventEmitter. |
Методы
Имя | Возвращает | Описание |
---|---|---|
getBounds() | Number[][]|null | Returns географические координаты прямоугольной области, охватывающей все элементы кластера. |
getGeoObjects() | Returns массив геообъектов, образующих кластер. | |
getMap() | Returns ссылку на карту. Унаследован от IParentOnMap. | |
getOverlay() | IOverlay|null | Returns оверлей геообъекта, либо null. Унаследован от IGeoObject. |
getParent() | Returns ссылку на родительский объект. Унаследован от IChildOnMap. | |
setParent(parent) | Устанавливает родительский объект. Унаследован от IChildOnMap. |
Имя | Возвращает | Описание |
---|---|---|
getBounds() | Number[][]|null | Returns географические координаты прямоугольной области, охватывающей все элементы кластера. |
getGeoObjects() | Returns массив геообъектов, образующих кластер. | |
getMap() | Returns ссылку на карту. Унаследован от IParentOnMap. | |
getOverlay() | IOverlay|null | Returns оверлей геообъекта, либо null. Унаследован от IGeoObject. |
getParent() | Returns ссылку на родительский объект. Унаследован от IChildOnMap. | |
setParent(parent) | Устанавливает родительский объект. Унаследован от IChildOnMap. |
Описание полей
balloon
{cluster.Balloon} balloon
Балун кластера.
state
{data.Manager} state
- activeObject - Cсылка на активный объект кластера. Активным объектом является тот, который в данный момент выбран в балуне кластера.
Пример:
var geoObjects = cluster.properties.get('geoObjects');
// При открытии балуна кластера будет выбран третий объект в списке.
cluster.state.set('activeObject', geoObjects[2]);
Описание событий
Описание методов
getBounds
{Number[][]|null} getBounds()
Returns географические координаты прямоугольной области, охватывающей все элементы кластера.
getGeoObjects
{IGeoObject[]} getGeoObjects()
Returns массив геообъектов, образующих кластер.