hotspot.Layer
Расширяет IChildOnMap, ICustomizable.
Слой активных областей.
Конструктор | Поля | События | Методы
Конструктор
hotspot.Layer(objectSource[, options])
Создает слой активных областей. Каждая отдельная область в составе слоя представляет собой объект - hotspot.layer.Object.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: 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 Опция, позволяющая запретить показ хинта при наведении на хотспотный объект. По умолчанию показ хинтов разрешен. |
|
'events' |
Тип: IEventPane Контейнер элементов карты, на котором слушаются события. |
|
— |
Тип: Number Значение zIndex слоя. Когда активный объект ищется в пределах одного слоя, то при одновременном попадании курсора в два объекта выбирается объект с наибольшми значением zIndex. При дальнейшей работе - например при определении, фигура какого слоя является более приоритетной, используется значение zIndex слоя. Обратите внимание, что zIndex слоя будет определять взаимное расположение объектов слоя и одиночных объектов, добавленных в определенные пейны карты. Например, если вы хотите наложить хотспотные объекты поверх площадных объектов, стоит задать хотспотному слою zIndex=201. См. map.pane.Manager. |
* Обязательный параметр/опция.
Пример:
// Создаем источник хотспотных данных. Не указываем значение ключа,
// поэтому имя функции-обработчика (padding jsonp запроса) будет генерироваться динамически.
var objectSource = new ymaps.hotspot.ObjectSource('tiles/?%с'),
hotspotLayer = new ymaps.hotspot.Layer(objectSource, {
zIndex: 100,
// Разрешаем показывать балун без содержимого.
showEmptyBalloon: true
});
Поля
Имя |
Тип |
Описание |
Балун хотспотного слоя. |
||
Менеджер событий. Унаследовано от IEventEmitter. |
||
Хинт хотспотного слоя. |
||
Менеджер опций. Унаследовано от ICustomizable. |
События
Имя |
Описание |
Слой добавлен на карту. |
|
Закрытие балуна. Экземпляр класса Event. |
|
Открытие балуна на хотспотном слое. Экземпляр класса Event. |
|
Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
|
Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
|
Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
|
Закрытие хинта. Экземпляр класса Event. |
|
Открытие хинта на хотспотном слое. Экземпляр класса Event. |
|
Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
|
Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
|
Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
|
Перемещение курсора над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
|
Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
|
Окончание мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Имена полей, доступных через метод IMultiTouchEvent.get:
|
|
Повторящееся событие при мультисенсорном управлении. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Имена полей, доступных через метод IMultiTouchEvent.get:
|
|
Начало мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Имена полей, доступных через метод IMultiTouchEvent.get:
|
|
Изменение в опциях объекта. Унаследовано от ICustomizable. |
|
Сменился родительский объект. Поля данных:
Унаследовано от IChild. |
|
Слой удален с карты. |
|
Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
|
Методы
Имя |
Возвращает |
Описание |
getMap() |
Возвращает ссылку на карту. |
|
Метод, позволяющий получить объект слоя в указанной географической точке на текущем масштабе. Если данные для тайла, в который попадает точка, не подгружены, вызов метода спровоцирует их загрузку. После этого поиск будет производиться по загруженным данным. |
||
Метод, позволяющий получить объект слоя в указанной географической точке на текущем масштабе. Если данные для тайла, в который попадает точка, не подгружены, вызов метода спровоцирует их загрузку. После этого поиск будет производиться по загруженным данным. |
||
Возвращает источник объектов слоя активных областей. |
||
IParentOnMap|null |
Возвращает ссылку на родительский объект или null, если родительский элемент не был установлен. Унаследован от IChildOnMap. |
|
Устанавливает родительский объект. Если передать значение null, то элемент управления будет только удален из текущего родительского объекта. Унаследован от IChildOnMap. |
||
update() |
Обновляет слой активных областей. После выполнения этой команды загруженные ранее объекты удаляются из контейнера и запрашиваются новые данные. |
Описание полей
balloon
{hotspot.layer.Balloon} balloon
Балун хотспотного слоя.
hint
{hotspot.layer.Hint} hint
Хинт хотспотного слоя.
Описание событий
addtomap
Слой добавлен на карту.
balloonclose
Закрытие балуна. Экземпляр класса Event.
balloonopen
Открытие балуна на хотспотном слое. Экземпляр класса Event.
click
Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
- activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
- coords - географические координаты точки, в которой произошло событие;
- globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
- pagePixels - координаты события в пикселях от левого верхнего угла страницы;
- clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
contextmenu
Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
- activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
- coords - географические координаты точки, в которой произошло событие;
- globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
- pagePixels - координаты события в пикселях от левого верхнего угла страницы;
- clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
dblclick
Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
- activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
- coords - географические координаты точки, в которой произошло событие;
- globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
- pagePixels - координаты события в пикселях от левого верхнего угла страницы;
- clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
hintclose
Закрытие хинта. Экземпляр класса Event.
hintopen
Открытие хинта на хотспотном слое. Экземпляр класса Event.
mousedown
Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
- activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
- coords - географические координаты точки, в которой произошло событие;
- globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
- pagePixels - координаты события в пикселях от левого верхнего угла страницы;
- clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
mouseenter
Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
- activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
- coords - географические координаты точки, в которой произошло событие;
- globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
- pagePixels - координаты события в пикселях от левого верхнего угла страницы;
- clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
mouseleave
Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
- activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
- coords - географические координаты точки, в которой произошло событие;
- globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
- pagePixels - координаты события в пикселях от левого верхнего угла страницы;
- clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
mousemove
Перемещение курсора над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
- activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
- coords - географические координаты точки, в которой произошло событие;
- globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
- pagePixels - координаты события в пикселях от левого верхнего угла страницы;
- clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
mouseup
Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
- activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
- coords - географические координаты точки, в которой произошло событие;
- globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
- pagePixels - координаты события в пикселях от левого верхнего угла страницы;
- clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
multitouchend
Окончание мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Имена полей, доступных через метод IMultiTouchEvent.get:
- activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
- coords - географические координаты точки, в которой произошло событие;
- globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
- pagePixels - координаты события в пикселях от левого верхнего угла страницы;
- clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
multitouchmove
Повторящееся событие при мультисенсорном управлении. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Имена полей, доступных через метод IMultiTouchEvent.get:
- activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
- coords - географические координаты точки, в которой произошло событие;
- globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
- pagePixels - координаты события в пикселях от левого верхнего угла страницы;
- clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
multitouchstart
Начало мультисенсорного управления. Данное событие доступно только на устройствах, которые поддерживают множественные сенсорные прикосновения. Возвращает реализацию интерфейса IMultiTouchEvent c информацией о прикосновениях. Имена полей, доступных через метод IMultiTouchEvent.get:
- activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
- coords - географические координаты точки, в которой произошло событие;
- globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
- pagePixels - координаты события в пикселях от левого верхнего угла страницы;
- clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
removeFromMap
Слой удален с карты.
wheel
Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Экземпляр класса MapEvent. Более детальное описание доступно в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
- activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
- coords - географические координаты точки, в которой произошло событие;
- globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
- pagePixels - координаты события в пикселях от левого верхнего угла страницы;
- clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
- domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
Описание методов
getMap
{Map} getMap()
Возвращает ссылку на карту.
getObjectInPosition
{vow.Promise} getObjectInPosition(coords)
Метод, позволяющий получить объект слоя в указанной географической точке на текущем масштабе. Если данные для тайла, в который попадает точка, не подгружены, вызов метода спровоцирует их загрузку. После этого поиск будет производиться по загруженным данным.
Возвращает Promise, который будет разрешен объектом слоя, в который попадает заданная точка. Если точка попадает в несколько объектов слоя, вернется объект с максимальным значением zIndex.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Number[] Географические координаты точки. |
* Обязательный параметр/опция.
getObjectsInPosition
{vow.Promise} getObjectsInPosition(coords)
Метод, позволяющий получить объект слоя в указанной географической точке на текущем масштабе. Если данные для тайла, в который попадает точка, не подгружены, вызов метода спровоцирует их загрузку. После этого поиск будет производиться по загруженным данным.
Возвращает Promise, который будет разрешен массивом объектов слоя, в которые попадает заданная точка.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Number[] Географические координаты точки. |
* Обязательный параметр/опция.
getObjectSource
{IHotspotObjectSource} getObjectSource()
Возвращает источник объектов слоя активных областей.
Пример:
// Обновление источника данных для слоя активных областей.
hotspotLayer.getObjectSource().setTileUrlTemplate('newSource/?%c');
hotspotLayer.update();
update
{} update()
Обновляет слой активных областей. После выполнения этой команды загруженные ранее объекты удаляются из контейнера и запрашиваются новые данные.
Обязательный параметр.