hotspot.Layer
Расширяет IChildOnMap, ICustomizable.
Слой активных областей.
Конструктор
hotspot.Layer(objectSource[, options])
Создает слой активных областей. Каждая отдельная область в составе слоя представляет собой фигуру - hotspot.Shape.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
|
— |
Тип: IHotspotObjectSource Источник объектов слоя. |
|
— |
Тип: Object Опции слоя. Опции для балунов Balloon и хинтов Hint хотспотного слоя нужно указывать с префиксами 'balloon' и 'hint'. |
|
'pointer' |
Тип: String Тип курсора. |
|
false |
Тип: Boolean Опция, позволяющая запретить изменение курсора при наведении на объект слоя. По умолчанию курсоры изменяются. |
|
true |
Тип: Boolean Флаг, показывающий, есть ли у слоя балуны. Если значение флага false, у слоя не будет создано поле .balloon. |
|
true |
Тип: Boolean Флаг, показывающий, есть ли у слоя хинты. Если значение флага false, у слоя не будет создано поле .hint. |
|
'default#layer' |
Тип: String Модель интерактивности слоя. Доступные ключи и их значения перечислены в описании interactivityModel.storage. |
|
true |
Тип: Boolean Опция, позволяющая запретить открытие балуна при клике на хотспотном объекте. По умолчанию открытие балуна разрешено. |
|
false |
Тип: String Открывать балун с пустым содержимым. |
|
false |
Тип: String Показывать всплывающую подсказку с пустым содержимым. |
|
true |
Тип: Boolean Опция, позволяющая запретить показ хинта при наведении на хотспотный объект. По умолчанию показ хинтов разрешен. |
|
— |
Тип: Number Значение zIndex слоя. Когда активный объект ищется в пределах одного слоя, то при одновременном попадании курсора в два объекта выбирается объект с наибольшми значением zIndex. При дальнейшей работе - например при определении, фигура какого слоя является более приоритетной, используется значение zIndex слоя. |
* Обязательный параметр/опция.
Пример:
// Создаем источник хотспотных данных. Не указываем значение ключа,
// в результате чего имя функции-обработчика (padding jsonp запроса) будет генерироваться динамически.
var objectSource = new ymaps.hotspot.ObjectSource('tiles/?%c'),
hotspotLayer = new ymaps.hotspot.Layer(objectSource, {
zIndex: 100,
// Разрешаем открывать балуны без содержимого.
showEmptyBalloon: true
});
Поля
Имя |
Тип |
Описание |
Объект для управления балунами слоя хотспотов. |
||
Менеджер событий. Унаследовано от IEventEmitter. |
||
Пространство имен для работы с хинтами слоя хотспотов. |
||
Менеджер опций. Унаследовано от ICustomizable. |
События
Имя |
Описание |
Слой добавлен на карту. |
|
Однократное нажатие левой кнопки мыши на объекте. • activeShape: hotspot.Shape - объект, на котором произошло событие. |
|
Вызов контекстного меню на элементе. • activeShape: hotspot.Shape - объект, на котором произошло событие. |
|
Двойное нажатие левой кнопки мыши на объекте. • activeShape: hotspot.Shape - объект, на котором произошло событие. |
|
Сменилась карта. Поля данных: • newMap - новая карта. Унаследовано от IChildOnMap. |
|
Нажатие кнопки мыши над объектом. • activeShape: hotspot.Shape - объект, на котором произошло событие. |
|
Наведение курсора на объект. • activeShape: hotspot.Shape - объект, на котором произошло событие. |
|
Вывод курсора за пределы объекта. • activeShape: hotspot.Shape - объект, на котором произошло событие. |
|
Перемещение курсора над объектом. • activeShape: hotspot.Shape - объект, на котором произошло событие. |
|
Отпускание кнопки мыши над объектом. • activeShape: hotspot.Shape - объект, на котором произошло событие. |
|
Окончание мультисенсорного управления. • activeShape: hotspot.Shape - объект, на котором произошло событие. |
|
Повторящееся событие при мультисенсорном управлении. • activeShape: hotspot.Shape - объект, на котором произошло событие. |
|
Начало мультисенсорного управления. • activeShape: hotspot.Shape - объект, на котором произошло событие. |
|
Изменение в опциях объекта. Унаследовано от ICustomizable. |
|
Сменился родительский объект. Поля данных: • oldParent - старый родитель; • newParent - новый родитель. Унаследовано от IChild. |
|
Слой удален с карты. |
|
Методы
Имя |
Возвращает |
Описание |
Returns источник объектов слоя активных областей. |
||
Returns ссылку на родительский объект. Унаследован от IChildOnMap. |
||
Устанавливает родительский объект. Унаследован от IChildOnMap. |
||
update() |
Обновляет слой активных областей. После выполнения этой команды загруженные ранее объекты удаляются из контейнера и запрашиваются новые данные. |
Описание полей
balloon
{hotspot.layer.Balloon} balloon
Объект для управления балунами слоя хотспотов.
Пример:
hotspotLayer.options.set({
// Запрещаем показ всплывающей подсказки по наведению.
showHintOnHover: false,
// Разрешаем открытие пустого балуна.
openEmptyBalloon: true
});
// открываем балун по наведению на активный объект
hotspotLayer.events.add('mouseenter', function (e) {
// Получаем объект, на который навели курсор.
var activeShape = e.get('activeShape');
hotspotLayer.balloon.open(
e.get('globalPixelPosition'),
// Данные для балуна получаем из объекта.
activeShape.getProperties(),
// Опции получаем из слоя хотспотов.
hotspotLayer.options
);
}, this);
hint
{hotspot.layer.Hint} hint
Пространство имен для работы с хинтами слоя хотспотов.
Пример:
hotspotLayer.options.set({
// Запрещаем открытие балуна по клику.
openBalloonOnClick: false,
// Разрешаем показ пустых всплывающих подсказок.
showEmptyHint: true
});
// Показываем хинт по клику на активном объекте.
hotspotLayer.events.add('click', function (e) {
// Получаем объект, на котором произошел клик.
var activeShape = e.get('activeShape');
hotspotLayer.hint.show(
e.get('globalPixelPosition'),
// Данные для хинта получаем из объекта.
activeShape.getProperties(),
// Опции получаем из слоя хотспотов.
hotspotLayer.options
);
}, this);
Описание событий
addtomap
Слой добавлен на карту. Экземпляр класса Event.
balloonclose
balloonopen
click
Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.
Экземпляр класса Event. Имена полей, доступных через метод Event.get:
• activeShape: hotspot.Shape - объект, на котором произошло событие.
contextmenu
Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.
Экземпляр класса Event. Имена полей, доступных через метод Event.get:
• activeShape: hotspot.Shape - объект, на котором произошло событие.
dblclick
Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.
Экземпляр класса Event. Имена полей, доступных через метод Event.get:
• activeShape: hotspot.Shape - объект, на котором произошло событие.
mousedown
Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.
Экземпляр класса Event. Имена полей, доступных через метод Event.get:
• activeShape: hotspot.Shape - объект, на котором произошло событие.
mouseenter
Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager.
Экземпляр класса Event. Имена полей, доступных через метод Event.get:
• activeShape: hotspot.Shape - объект, на котором произошло событие.
mouseleave
Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Экземпляр класса Event.
Имена полей, доступных через метод Event.get:
• activeShape: hotspot.Shape - объект, на котором произошло событие.
mousemove
Перемещение курсора над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
• activeShape: hotspot.Shape - объект, на котором произошло событие.
mouseup
Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
• activeShape: hotspot.Shape - объект, на котором произошло событие.
multitouchend
Окончание мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Имена полей, доступных через метод IMultiTouchEvent.get:
• activeShape: hotspot.Shape - объект, на котором произошло событие.
multitouchmove
Повторящееся событие при мультисенсорном управлении. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях.
Имена полей, доступных через метод IMultiTouchEvent.get:
• activeShape: hotspot.Shape - объект, на котором произошло событие.
multitouchstart
Начало мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Имена полей, доступных через метод IMultiTouchEvent.get:
• activeShape: hotspot.Shape - объект, на котором произошло событие.
removefrommap
Слой удален с карты. Экземпляр класса Event.
wheel
Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться.
Более детально описание в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
• activeShape: hotspot.Shape - объект, на котором произошло событие.
Описание методов
getObjectSource
{IHotspotObjectSource} getObjectSource()
Returns источник объектов слоя активных областей.
Пример:
// Обновление источника данных хотспотного слоя.
hotspotLayer.getObjectSource().setTileUrlTemplate('newSource/?%c');
hotspotLayer.update();
update
{} update()
Обновляет слой активных областей. После выполнения этой команды загруженные ранее объекты удаляются из контейнера и запрашиваются новые данные.
Обязательный параметр/опция.