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()

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