События
Описание
События позволяют выполнить какое-либо действие в тот момент, когда что-то происходит с объектом (например, когда пользователь кликает по карте):
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 объекта (если задан). |
| Свойство |
Тип |
Описание |
popup |
Popup |
Балун, который был открыт или закрыт. |
DragEndEvent
| Свойство |
Тип |
Описание |
distance |
Number |
Расстояние в пикселях на которое был сдвинут элемент. |
| Свойство |
Тип |
Описание |
latlng |
LatLng |
Географические координаты точки объекта допслоя. |
meta |
Object |
Метаданные объекта допслоя. |
ProjectEvent
| Метод |
Параметры |
Возвращает |
Описание |
| getProjectList |
Нет |
Object |
Возвращает все доступные проекты 2ГИС. |
| getProject |
Нет |
Object |
Возвращает текущий проект 2ГИС. |
LangEvent
| Свойство |
Тип |
Описание |
lang |
String |
Текущий язык карты. |