| Метод | Описание |
|---|---|
map.on(type, listener) |
Регистрирует слушатель события |
map.on(type, layerId, listener) |
Регистрирует слушатель событий на конкретном слое |
map.off(type, listener) |
Удаляет слушатель |
map.once(type, listener) |
Слушатель, который сработает только один раз |
| Событие | Описание |
|---|---|
load |
Карта полностью загружена и готова к работе |
idle |
Карта завершила рендеринг и находится в состоянии покоя |
remove |
Карта была удалена с помощью map.remove() |
error |
Произошла ошибка |
movestart |
Начало изменения позиции карты (панорамирование, zoom, rotate) |
move |
Позиция карты изменяется |
moveend |
Позиция карты изменилась |
zoomstart |
Начало изменения масштаба |
zoom |
Масштаб изменяется |
zoomend |
Масштаб изменился |
rotatestart |
Начало поворота карты |
rotate |
Карта поворачивается |
rotateend |
Поворот завершён |
pitchstart |
Начало изменения наклона |
pitch |
Наклон изменяется |
pitchend |
Наклон изменился |
resize |
Размер контейнера карты изменился |
data |
Данные (тайлы, источники, стили) загружены или изменились |
dataloading |
Начата загрузка данных |
sourcedata |
Данные источника изменились или загружены |
styledataloading |
Начата загрузка стиля |
styledata |
Стиль карты изменился или загружен |
render |
Карта перерисовалась |
webglcontextlost |
Контекст WebGL потерян |
webglcontextrestored |
Контекст WebGL восстановлен |
События мыши. Возникают при взаимодействии курсора с картой.
Свойства:
| Свойство | Описание |
|---|---|
lngLat |
Географические координаты курсора на карте |
point |
Пиксельные координаты курсора (от верхнего левого угла карты) |
originalEvent |
DOM-событие, вызвавшее событие карты |
target |
Объект карты, который запустил событие |
type |
Тип события |
preventDefault() |
Предотвращает обработку события обработчиками (DragPanHandler, DragRotateHandler, BoxZoomHandler, DoubleClickZoomHandler) |
Типы событий: mousedown, mouseup, click, dblclick, mousemove, mouseover, mouseenter, mouseleave, mouseout, contextmenu.
map.on('click', function(e) {
console.log('Клик в точке:', e.lngLat.lng, e.lngLat.lat);
});
// Клик по объекту на конкретном слое
map.on('click', 'my-layer', function(e) {
var feature = e.features[0];
new relgl.Popup()
.setLngLat(e.lngLat)
.setHTML(feature.properties.name)
.addTo(map);
});
// Изменение курсора при наведении на слой
map.on('mouseenter', 'my-layer', function() {
map.getCanvas().style.cursor = 'pointer';
});
map.on('mouseleave', 'my-layer', function() {
map.getCanvas().style.cursor = '';
});
События касаний на сенсорных экранах.
Свойства:
| Свойство | Описание |
|---|---|
lngLat |
Координаты первого касания на карте |
lngLats |
Массив координат всех касаний |
point |
Пиксельные координаты первого касания |
points |
Массив пиксельных координат всех касаний |
originalEvent |
DOM-событие |
target |
Объект карты |
type |
Тип события |
preventDefault() |
Предотвращает обработку события (DragPanHandler, TouchZoomRotateHandler) |
Типы событий: touchstart, touchend, touchmove, touchcancel.
События масштабирования выделением области (BoxZoomHandler).
Параметры:
| Параметр | Описание |
|---|---|
type |
Тип события: boxzoomstart, boxzoomend или boxzoomcancel |
target |
Экземпляр карты |
originalEvent |
DOM-событие (MouseEvent или KeyboardEvent) |
Создаётся вместе с событиями data и dataloading.
Параметры:
| Параметр | Тип | Описание |
|---|---|---|
type |
string | Тип события |
dataType |
string | Тип изменившихся данных: 'source' или 'style' |
isSourceLoaded |
boolean | true, если источник загружен и не имеет незавершённых сетевых запросов |
source |
object | Объект источника данных |
sourceDataType |
string | 'metadata', 'content' или 'visibility' |
tile |
object | Загружаемый или изменяемый тайл |
map.on('sourcedata', function(e) {
if (e.isSourceLoaded) {
console.log('Источник загружен');
}
});
Событие прокрутки колёсика мыши.
Свойства:
| Свойство | Описание |
|---|---|
originalEvent |
DOM-событие WheelEvent |
target |
Объект карты |
type |
Тип события |
preventDefault() |
Предотвращает обработку события ScrollZoomHandler |