hotspot.Layer

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

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

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

Конструктор

hotspot.Layer(objectSource[, options])

Создает слой активных областей. Каждая отдельная область в составе слоя представляет собой фигуру - hotspot.Shape.

Параметры:

Параметр Значение по умолчанию Описание
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.showEmptyHint false

Тип: String

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

options.showHintOnHover true

Тип: Boolean

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

options.zIndex

Тип: Number

Значение zIndex слоя. Когда активный объект ищется в пределах одного слоя, то при одновременном попадании курсора в два объекта выбирается объект с наибольшми значением zIndex. При дальнейшей работе - например при определении, фигура какого слоя является более приоритетной, используется значение zIndex слоя.

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

Пример:

// Создаем источник хотспотных данных. Не указываем значение ключа,
// в результате чего имя функции-обработчика (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

Слой добавлен на карту. Экземпляр класса 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 - объект, на котором произошло событие.
mapchange
Сменилась карта. Поля данных:
  • oldMap - старая карта;
  • newMap - новая карта.

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

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 - объект, на котором произошло событие.
optionschange

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

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

parentchange

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

Поля данных:

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

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

removefrommap

Слой удален с карты. Экземпляр класса Event.

wheel
Скролл мышкой. При использовании следует иметь в виду, что при сенсорном вводе события мыши будут эмулироваться. Более детально описание в domEvent.manager. Экземпляр класса Event. Имена полей, доступных через метод Event.get:
  • activeShape: hotspot.Shape - объект, на котором произошло событие.

Методы

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

IHotspotObjectSource

Returns источник объектов слоя активных областей.

getParent()

IParentOnMap

Returns ссылку на родительский объект.

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

setParent(parent)

IChildOnMap

Устанавливает родительский объект.

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

update()

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

Описание полей

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

Пространство имен для работы с хинтами слоя хотспотов.

Пример:

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

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