hotspot.Layer

Расширяет IChildOnMap, ICustomizable.

Слой активных областей.

Конструктор | Поля | События | Методы

Конструктор

hotspot.Layer(objectSource[, options])

Создает слой активных областей. Каждая отдельная область в составе слоя представляет собой объект - hotspot.layer.Object.

Параметры:

Параметр Значение по умолчанию Описание
objectSource *

Тип: IHotspotObjectSource

Источник объектов слоя.

options

Тип: Object

Опции слоя. Опции для балунов Balloon и хинтов Hint хотспотного слоя нужно указывать с префиксами 'balloon' и 'hint'.

options.cursor 'pointer'

Тип: String

Тип курсора.

options.dontChangeCursor false

Тип: Boolean

Опция, позволяющая запретить изменение курсора при наведении на объект слоя. По умолчанию курсоры изменяются.

options.hasBalloon true

Тип: Boolean

Флаг, показывающий, есть ли у слоя балуны. Если значение флага false, у слоя не будет создано поле .balloon.

options.hasHint true

Тип: Boolean

Флаг, показывающий, есть ли у слоя хинты. Если значение флага false, у слоя не будет создано поле .hint.

options.interactivityModel 'default#layer'

Тип: String

Модель интерактивности слоя. Доступные ключи и их значения перечислены в описании interactivityModel.storage.

options.openBalloonOnClick true

Тип: Boolean

Опция, позволяющая запретить открытие балуна при клике на хотспотном объекте. По умолчанию открытие балуна разрешено;

options.openEmptyBalloon false

Тип: String

Открывать балун с пустым содержимым.

options.openEmptyHint false

Тип: String

Показывать всплывающую подсказку с пустым содержимым.

options.openHintOnHover true

Тип: Boolean

Опция, позволяющая запретить показ хинта при наведении на хотспотный объект. По умолчанию показ хинтов разрешен.

options.pane 'events'

Тип: IEventPane

Контейнер элементов карты, на котором слушаются события.

options.zIndex

Тип: Number

Значение zIndex слоя. Когда активный объект ищется в пределах одного слоя, то при одновременном попадании курсора в два объекта выбирается объект с наибольшми значением zIndex. При дальнейшей работе - например при определении, фигура какого слоя является более приоритетной, используется значение zIndex слоя. Обратите внимание, что zIndex слоя будет определять взаимное расположение объектов слоя и одиночных объектов, добавленных в определенные пейны карты. Например, если вы хотите наложить хотспотные объекты поверх площадных объектов, стоит задать хотспотному слою zIndex=201. См. map.pane.Manager.

* Обязательный параметр/опция.

Пример:

// Создаем источник хотспотных данных. Не указываем значение ключа,
// поэтому имя функции-обработчика (padding jsonp запроса) будет генерироваться динамически.
var objectSource = new ymaps.hotspot.ObjectSource('tiles/?%c'),
    hotspotLayer = new ymaps.hotspot.Layer(objectSource, {
        zIndex: 100,
        // Разрешаем показывать балун без содержимого.
        showEmptyBalloon: true
    });

Поля

Имя Тип Описание
balloon hotspot.layer.Balloon

Балун хотспотного слоя.

events IEventManager

Менеджер событий.

Унаследовано от IEventEmitter.

hint hotspot.layer.Hint

Хинт хотспотного слоя.

options IOptionManager

Менеджер опций.

Унаследовано от ICustomizable.

События

Имя Описание
addtomap

Слой добавлен на карту.

balloonclose

Закрытие балуна. Экземпляр класса Event.

balloonopen

Открытие балуна на хотспотном слое. Экземпляр класса Event.

click
Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
  • coords - географические координаты точки, в которой произошло событие;
  • globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
  • pagePixels - координаты события в пикселях от левого верхнего угла страницы;
  • clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
contextmenu
Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
  • coords - географические координаты точки, в которой произошло событие;
  • globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
  • pagePixels - координаты события в пикселях от левого верхнего угла страницы;
  • clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
dblclick
Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
  • coords - географические координаты точки, в которой произошло событие;
  • globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
  • pagePixels - координаты события в пикселях от левого верхнего угла страницы;
  • clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
hintclose

Закрытие хинта. Экземпляр класса Event.

hintopen

Открытие хинта на хотспотном слое. Экземпляр класса Event.

mousedown
Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
  • coords - географические координаты точки, в которой произошло событие;
  • globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
  • pagePixels - координаты события в пикселях от левого верхнего угла страницы;
  • clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
mouseenter
Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
  • coords - географические координаты точки, в которой произошло событие;
  • globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
  • pagePixels - координаты события в пикселях от левого верхнего угла страницы;
  • clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.
mouseleave
Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в 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
Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в 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), если оно имеется.
optionschange

Изменение в опциях объекта.

Унаследовано от ICustomizable.

parentchange

Сменился родительский объект.

Поля данных:

  • oldParent - старый родитель;
  • newParent - новый родитель.

Унаследовано от IChild.

removefrommap

Слой удален с карты.

wheel
Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
  • coords - географические координаты точки, в которой произошло событие;
  • globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
  • pagePixels - координаты события в пикселях от левого верхнего угла страницы;
  • clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.

Методы

Имя Возвращает Описание
getMap()

Map

Возвращает ссылку на карту.

getObjectInPosition(coords)

vow.Promise

Метод, позволяющий получить объект слоя в указанной географической точке на текущем масштабе. Если данные для тайла, в который попадает точка, не подгружены, вызов метода спровоцирует их загрузку. После этого поиск будет производиться по загруженным данным.

getObjectsInPosition(coords)

vow.Promise

Метод, позволяющий получить объект слоя в указанной географической точке на текущем масштабе. Если данные для тайла, в который попадает точка, не подгружены, вызов метода спровоцирует их загрузку. После этого поиск будет производиться по загруженным данным.

getObjectSource()

IHotspotObjectSource

Возвращает источник объектов слоя активных областей.

getParent()

IParentOnMap|null

Возвращает ссылку на родительский объект или null, если родительский элемент не был установлен.

Унаследован от IChildOnMap.

setParent(parent)

IChildOnMap

Устанавливает родительский объект. Если передать значение null, то элемент управления будет только удален из текущего родительского объекта.

Унаследован от IChildOnMap.

update()

Обновляет слой активных областей. После выполнения этой команды загруженные ранее объекты удаляются из контейнера и запрашиваются новые данные.

Описание событий

addtomap

Слой добавлен на карту.

balloonclose

Закрытие балуна. Экземпляр класса Event.

balloonopen

Открытие балуна на хотспотном слое. Экземпляр класса Event.

click

Однократное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
  • coords - географические координаты точки, в которой произошло событие;
  • globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
  • pagePixels - координаты события в пикселях от левого верхнего угла страницы;
  • clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.

contextmenu

Вызов контекстного меню на элементе. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
  • coords - географические координаты точки, в которой произошло событие;
  • globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
  • pagePixels - координаты события в пикселях от левого верхнего угла страницы;
  • clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.

dblclick

Двойное нажатие левой кнопки мыши на объекте. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
  • coords - географические координаты точки, в которой произошло событие;
  • globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
  • pagePixels - координаты события в пикселях от левого верхнего угла страницы;
  • clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.

hintclose

Закрытие хинта. Экземпляр класса Event.

hintopen

Открытие хинта на хотспотном слое. Экземпляр класса Event.

mousedown

Нажатие кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
  • coords - географические координаты точки, в которой произошло событие;
  • globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
  • pagePixels - координаты события в пикселях от левого верхнего угла страницы;
  • clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.

mouseenter

Наведение курсора на объект. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • activeObject (hotspot.layer.Object) — объект слоя, на котором произошло событие;
  • coords - географические координаты точки, в которой произошло событие;
  • globalPixels - координаты события в глобальных пикселях от левого верхнего угла мира;
  • pagePixels - координаты события в пикселях от левого верхнего угла страницы;
  • clientPixels - координаты события в пикселях от левого верхнего угла окна браузера;
  • domEvent - исходное DOM-событие (в виде объекта DomEvent), если оно имеется.

mouseleave

Вывод курсора за пределы объекта. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в 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

Отпускание кнопки мыши над объектом. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в 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

Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в 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.

Параметры:

Параметр Значение по умолчанию Описание
coords *

Тип: Number[]

Географические координаты точки.

* Обязательный параметр/опция.

getObjectsInPosition

{vow.Promise} getObjectsInPosition(coords)

Метод, позволяющий получить объект слоя в указанной географической точке на текущем масштабе. Если данные для тайла, в который попадает точка, не подгружены, вызов метода спровоцирует их загрузку. После этого поиск будет производиться по загруженным данным.

Возвращает Promise, который будет разрешен массивом объектов слоя, в которые попадает заданная точка.

Параметры:

Параметр Значение по умолчанию Описание
coords *

Тип: Number[]

Географические координаты точки.

* Обязательный параметр/опция.

getObjectSource

{IHotspotObjectSource} getObjectSource()

Возвращает источник объектов слоя активных областей.

Пример:

// Обновление источника данных для слоя активных областей.
hotspotLayer.getObjectSource().setTileUrlTemplate('newSource/?%c');
hotspotLayer.update();

update

{} update()

Обновляет слой активных областей. После выполнения этой команды загруженные ранее объекты удаляются из контейнера и запрашиваются новые данные.