ClusterPlacemark
Расширяет IGeoObject, collection.Item.
Кластер геообъектов. Используется по умолчанию в Clusterer.
Конструктор | Поля | События | Методы
Конструктор
ClusterPlacemark(geometry, properties[, options])
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Number[]|Object|IPointGeometry Координаты метки или хэш с описанием геометрии, или ссылка на объект точечной геометрии. |
|
— |
Тип: IDataManager Данные кластера. |
|
— |
Тип: IGeoObject[] Массив геообъектов, которые находятся в данном кластере. |
|
— |
Тип: Object Опции кластера. Помимо частных опций, балун кластера поддерживает те же опции, что и Balloon. Опции для балуна кластера указываются с префикcом 'balloon'. |
|
'cluster#balloonTwoColumns' |
Тип: Function|String Макет балуна кластера в обычном режиме. Можно передать конструктор объекта с интерфейсом ILayout или ключ одного из стандартных макетов. Каждый стандартный макет имеет некоторые собственные опции. В стандартных макетах по умолчанию используются поля данных геообъектов: clusterCaption, balloonContentHeader, balloonContent и balloonContentFooter (см. Placemark).
|
|
— |
Тип: Number Высота макета контента балуна кластера. По умолчанию опция балуна balloonMaxHeight для кластера не установлена, так как все стандартные макеты балунов кластеров имеют определенные размеры. Стандартное значение зависит от макета.
|
|
— |
Тип: Number Ширина макета контента балуна кластера. По умолчанию опция балуна balloonMaxWidth для кластера не установлена, так как все стандартные макеты балунов кластеров имеют определенные размеры. Стандартное значение зависит от макета.
|
|
— |
Тип: ILayout|String Макет с информацией о геообъекте. Стандартное значение зависит от макета.
|
|
null |
Тип: Function|String Макет балуна кластера в режиме "панель". Можно передать конструктор объекта с интерфейсом ILayout. Доступные значения такие же, как и у опции 'balloonContentLayout'. Если значение равно null, то применяется значение опции 'balloonContentLayout'. |
|
'pointer' |
Тип: String Курсор над меткой кластера. |
|
false |
Тип: Boolean Флаг, запрещающий увеличение коэффициента масштабирования карты при клике на кластер. |
|
true |
Тип: Boolean Скрывать иконку при открытии балуна. |
|
— |
Тип: String Цвет иконки кластера. Эта опция применяется для стандартных иконок в браузерах, поддерживающих SVG. |
|
'cluster#iconContent' |
Тип: Function|String Макет содержимого метки кластера. (Тип: конструктор объекта с интерфейсом ILayout или ключ макета). Если у метки не нужно отображать содержимое, значение опции нужно выставить в null. |
|
'cluster#icon' |
Тип: Function|String Макет метки кластера (Тип: конструктор объекта с интерфейсом ILayout или ключ макета). |
|
— |
Тип: Object[] Массив, описывающий иконки для стандартной реализации кластера. Описание иконки представляет из себя объект с полями
|
|
— |
Тип: IGeometryJson|null Фигура активной области метки кластера. Задается в виде JSON-описания пиксельной геометрии иконки. Эту опцию нужно использовать при создании своих HTML макетов. Координаты геометрии фигуры отсчитываются от точки привязки. |
|
'default#geoObject' |
Тип: String Модель интерактивности кластера. Доступные ключи и их значения перечислены в описании interactivityModel.storage. |
|
[10, 100] |
Тип: Number[] Массив, описывающий граничные значения для размеров кластеров. Количество иконок, описанных в опции "icons", должно быть на 1 больше, чем чисел в данном массиве. |
|
true |
Тип: Boolean Опция, позволяющая запретить открытие балуна при клике на кластере. По умолчанию открытие балуна разрешено; |
|
false |
Тип: Boolean Опция, включающая показ пустых всплывающих подсказок. По умолчанию пустые хинты кластера не показываются. |
|
true |
Тип: Boolean Опция, позволяющая запретить показ всплывающей подсказки при наведении на кластер. По умолчанию показ хинтов разрешен. |
|
— |
Тип: Number Значение zIndex, которое выставляется метке кластера при наведении. |
* Обязательный параметр/опция.
Примеры:
1.
// Переменная с описанием двух видов иконок кластеров.
var clusterIcons = [
{
href: 'small.png',
size: [40, 40],
// Отступ, чтобы центр картинки совпадал с центром кластера.
offset: [-20, -20]
},
{
href: 'big.png',
size: [60, 60],
offset: [-30, -30],
// Можно задать геометрию активной области метки.
// Если геометрия не задана, активной областью будет
// прямоугольник.
shape: {
type: 'Circle',
coordinates: [0, 0],
radius: 30
}
}],
// При размере кластера до 100 будет использована 'small.png'.
// При размере кластера больше 100 будет использована 'big.png'.
clusterNumbers = [100],
// Сделаем макет содержимого иконки кластера,
// в котором цифры будут раскрашены в белый цвет.
MyIconContentLayout = ymaps.templateLayoutFactory.createClass(
'<div style="color: #FFFFFF; font-weight: bold;">{{ properties.geoObjects.length }}</div>'
),
var clusterer = new ymaps.Clusterer({
// Если опции для кластеров задаются через кластеризатор,
// необходимо указывать их с префиксами "cluster".
clusterIcons: clusterIcons,
clusterNumbers: clusterNumbers,
clusterIconContentLayout: MyIconContentLayout
});
2.
// Создание кластеризатора с макетом-каруселью.
var clusterer = new ymaps.Clusterer({
clusterDisableClickZoom: true,
// Используем макет "карусель"
clusterBalloonContentLayout: "cluster#balloonCarousel",
// Запрещаем зацикливание списка при постраничной навигации.
clusterBalloonCycling: false,
// Настройка внешнего вида панели навигации.
// Элементами панели навигации будут маркеры.
clusterBalloonPagerType: "marker",
// Количество элементов в панели.
clusterBalloonPagerSize: 6
});
3.
// Создание кластеризатора с макетом-аккордеоном
var clusterer = new ymaps.Clusterer({
clusterDisableClickZoom: true,
// Используем макет "аккордеон"
clusterBalloonContentLayout: "cluster#balloonAccordion"
});
4.
// Создание кластеризатора с произвольным HTML-макетом иконки кластера.
var clusterer = new ymaps.Clusterer({
// Зададим макет метки кластера.
clusterIconLayout: ymaps.templateLayoutFactory.createClass('<div class="clusterIcon">{{ properties.geoObjects.length }}</div>'),
// Чтобы метка была кликабельной, переопределим ее активную область.
clusterIconShape: {
type: 'Rectangle',
coordinates: [[0, 0], [20, 20]]
}
});
Поля
Имя |
Тип |
Описание |
Менеджер событий. Унаследовано от IDomEventEmitter. |
||
IGeometry|null |
Геометрия геообъекта. Унаследовано от IGeoObject. |
|
Менеджер опций. Унаследовано от ICustomizable. |
||
Данные геообъекта. Унаследовано от IGeoObject. |
||
Состояние кластера. Определяется следующими полями:
|
События
Имя |
Описание |
Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Изменение геометрии геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
|
Сменилась карта. Поля данных:
Унаследовано от IParentOnMap. |
|
Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Перемещение курсора над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
|
Окончание мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent. Унаследовано от IDomEventEmitter. |
|
Повторящееся событие при мультисенсорном управлении. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Определяет свойство touches, которое содержит список прикосновений. Каждое прикосновение описано объектом, которое содержит поля:
Унаследовано от IDomEventEmitter. |
|
Начало мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Определяет свойство touches, которое содержит список прикосновений. Каждое прикосновение описано объектом, которое содержит поля:
Унаследовано от IDomEventEmitter. |
|
Изменение в опциях объекта. Унаследовано от ICustomizable. |
|
Изменение оверлея геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
|
Сменился родительский объект. Поля данных:
Унаследовано от IChild. |
|
Изменение данных геообъекта. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
Унаследовано от IGeoObject. |
|
Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Унаследовано от IDomEventEmitter. |
Методы
Имя |
Возвращает |
Описание |
Number[][]|null |
Возвращает географические координаты прямоугольной области, охватывающей все элементы кластера. |
|
Метод является упрощенным вызовом cluster.properties.get('geoObjects'); |
||
getMap() |
Возвращает ссылку на карту. Унаследован от IParentOnMap. |
|
Возвращает объект-обещание, который подтверждается объектом оверлея в момент его фактического создания, либо отклоняется с передачей соответствующей ошибки. Унаследован от IGeoObject. |
||
IOverlay|null |
Метод предоставляет синхронный доступ к оверлею. Унаследован от IGeoObject. |
|
IParentOnMap|null |
Возвращает ссылку на родительский объект или null, если родительский элемент не был установлен. Унаследован от IChildOnMap. |
|
Функция, которая вызывается при добавлении элемента на карту. Для выполнения дополнительных действий при добавлении объекта на карту переопределите эту функцию. Унаследован от collection.Item. |
||
Функция, которая вызывается при удалении элемента с карты. Для выполнения дополнительных действий при удалении объекта с карты переопределите эту функцию. Унаследован от collection.Item. |
||
Устанавливает родительский объект. Если передать значение null, то элемент управления будет только удален из текущего родительского объекта. Унаследован от IChildOnMap. |
Описание полей
state
{data.Manager} state
Состояние кластера. Определяется следующими полями:
- activeObject - Cсылка на активный объект кластера. Активным объектом является тот, который в данный момент выбран в балуне кластера.
Пример:
var geoObjects = cluster.properties.get('geoObjects');
// При открытии балуна кластера будет выбран третий объект в списке.
cluster.state.set('activeObject', geoObjects[2]);
Описание методов
getBounds
{Number[][]|null} getBounds()
**Возвращает **географические координаты прямоугольной области, охватывающей все элементы кластера.
getGeoObjects
{IGeoObject[]} getGeoObjects()
Метод является упрощенным вызовом cluster.properties.get('geoObjects');
**Возвращает **массив геообъектов, образующих кластер.
Обязательный параметр.