События

Описание

События позволяют выполнить какое-либо действие в тот момент, когда что-то происходит с объектом (например, когда пользователь кликает по карте):

map.on('click', function(e) {
    console.log(e.latlng);
});

Управлять событиями можно с помощью ссылок на обработчики, например, если необходимо добавить и затем удалить обработчик, определите его как функцию:

function onClick(e) { ... }

map.on('click', onClick);
map.off('click', onClick);

Методы управления событиями

Метод Возвращает Описание
addEventListener( <String> type, <Function> fn, <Object> context? ) this Подписывает обработчик (fn) на определенный тип события. Опционально вы можете указать контекст обработчика (объект, на который будет указывать this). Также вы можете подписаться на несколько типов событий, указав их через пробел (например, 'click dblclick').
addOneTimeEventListener( <String> type, <Function> fn, <Object> context? ) this Аналогичен методу addEventListener, лишь с тем отличием, что после первого вызова обработчика он будет удален.
addEventListener( <Object> eventMap, <Object> context? ) this Подписывает несколько обработчиков на определенные типы событий, например {click: onClick, mousemove: onMouseMove}
removeEventListener( <String> type, <Function> fn?, <Object> context? ) this Отписывает ранее подписанный обработчик. Если обработчик не указан, тогда от определенного типа событий будут отписаны все обработчики.
removeEventListener( <Object> eventMap, <Object> context? ) this Отписывает несколько обработчиков от определенных событий.
hasEventListeners( <String> type ) Boolean Возвращает true, если у переданного типа события есть подписчики.
fireEvent( <String> type, <Object> data? ) this Инициирует событие определенного типа. Опционально можно передать объект с данными события, тогда этот объект будет передан первым параметром в функцию-обработчик.
clearAllEventListeners() this Удаляет все обработчики всех событий объекта.
on( … ) this Псевдоним addEventListener.
once( … ) this Псевдоним addOneTimeEventListener.
off( … ) this Псевдоним removeEventListener.
fire( … ) this Псевдоним fireEvent.

Объекты событий

Каждый объект события — это объект с данными о событии, передаваемый параметром в функцию-обработчик, подписанную на это событие при возникновении последнего. Например:

map.on('click', function(e) {
    console.log(e.latlng); // e является объектом события (в данном случае MouseEvent)
});

Event

Базовый объект события. Все объекты событий содержат такие же свойства, как и этот объект.

Свойство Тип Описание
type String Тип события (например, 'click').
target Object Объект, который инициировал событие.

MouseEvent

Свойство Тип Описание
latlng LatLng Географическая точка, в которой было инициировано событие мышки.
layerPoint Point Пиксельные координаты, в которых было инициировано событие мышки, относительно слоя карты.
containerPoint Point Пиксельные координаты, в которых было инициировано событие мышки, относительно контейнера карты.
originalEvent DOMMouseEvent Оригинальное браузерное событие мышки.

LocationEvent

Свойство Тип Описание
latlng LatLng Географическое положение пользователя.
bounds LatLngBounds Географические границы, в которых находится пользователь (в соответствии с точностью местоположения).
accuracy Number Точность местоположения в метрах.
altitude Number Высота над поверхностью земли в метрах, согласно координатной системе WGS84.
altitudeAccuracy Number Точность высоты в метрах.
heading Number Направление движения в градусах, считается с севера по часовой стрелке.
speed Number Скорость в метрах в секунду.
timestamp Number Время изменения местоположения.

ErrorEvent

Свойство Тип Описание
message String Сообщение об ошибке.
code Number Код ошибки (если имеется).

LayerEvent

Свойство Тип Описание
layer ILayer Слой, который был добавлен или удален.

TileEvent

Свойство Тип Описание
tile HTMLElement Элемент тайла (изображение).

ResizeEvent

Свойство Тип Описание
oldSize Point Старый размер, до изменения.
newSize Point Новый размер, после изменения.

GeoJSON event

Свойство Тип Описание
layer ILayer Слой GeoJSON объекта добавленного на карту.
properties Object Свойства GeoJSON объекта.
geometryType String Тип геометрии GeoJSON объекта.
id String GeoJSON ID объекта (если задан).

PopupEvent

Свойство Тип Описание
popup Popup Балун, который был открыт или закрыт.

DragEndEvent

Свойство Тип Описание
distance Number Расстояние в пикселях на которое был сдвинут элемент.

MetaEvent

Свойство Тип Описание
latlng LatLng Географические координаты точки объекта допслоя.
meta Object Метаданные объекта допслоя.

ProjectEvent

Метод Параметры Возвращает Описание
getProjectList Нет Object Возвращает все доступные проекты 2ГИС.
getProject Нет Object Возвращает текущий проект 2ГИС.

LangEvent

Свойство Тип Описание
lang String Текущий язык карты.