Перейти к основному содержимому

7. Events (события)

Evented

Методы добавления и удаления слушателей (listeners)

src/util/eventedsrc/util/evented.js

Методы

НазваниеОписание
off(type, listener)Удаляет ранее зарегистрированный слушатель (listener). Параметры:
  • type:string — тип событий;
  • listener:function — функция слушатель (listener).
on(type, listener)Регистрирует новый лисенер (listener)
once(type, listener)Добавляет слушатель (listener), который будет вызываться только один раз для указанного типа события. Параметры:
  • type:string — тип событий;
  • listener:function — функция слушатель (listener).

MapMouseEvent

События, связанные с мышью.

src/ui/events.js

См. пример ниже.

// The click event is an example of a MapMouseEvent.
// Set up an event listener on the map.
map.on( 'click' , function (e) {
// The event object (e) contains information like the
// coordinates of the point on the map that was clicked.
console.log( 'A click event has occurred at ' + e.lngLat);
});

Свойства

НазваниеОписание
lngLatКоординаты курсора на карте.
originalEventСобытие DOM, вызвавшее событие карты.
pointПиксельные координаты курсора мыши относительно карты измеряются из левого верхнего угла.
preventDefault()Предотвращает последующую обработку событий. Вызов этого метода предотвратит следующее события:
  • mousedown, поведение DragPanHandler;
  • mousedown поведение DragRotateHandler;
  • mousedown, поведение BoxZoomHandler;
  • dblclick, поведение DoubleClickZoomHandler.
targetОбъект карты, который запустил событие.
typeТип события (одно из Map.event:mousedown, Map.event:mouseup, Map.event:click, Map.event:dblclick, Map.event:mousemove, Map.event:mouseover, Map.event:mouseenter, Map.event:mouseleave, Map.event:mouseout, Map.event:contextmenu).

MapTouchEvent

События связанные с касаниями (touch).

src/ui/events.js

Свойства

НазваниеОписание
lngLatКоординаты касания на карте.
lngLatsМассив координат, соответствующих касаниям на карте.
originalEventСобытие DOM, вызвавшее событие карты.
pointПиксельные координаты курсора мыши относительно карты измеряются из левого верхнего угла.
pointsМассив координат пикселей, соответствующих касаниям.
preventDefault()Предотвращает последующую обработку события картой. Вызов этого метода предотвратит следующее события:
  • touchstart, поведение DragPanHandler;
  • touchstart поведение TouchZoomRotateHandler.
targetОбъект карты, который запустил событие.
typeТип события.

MapBoxZoomEvent

События связанные с boxzoom, используемых BoxZoomHandler.

src/ui/events.js

Параметры

  • originalEvent:MouseEvent— DOM-событие, вызвавшее событие boxzoom. Может быть MouseEvent или KeyboardEvent.
  • type:string — тип события boxzoom. Может быть: boxzoomstart, boxzoomend или boxzoomcancel.
  • target:Map — экземпляр карты, вызвавший событие.

MapDataEvent

Объект MapDataEvent создается вместе с событиями Map.event:data и Map.event:dataloading. Возможные значения для типов данных являются:

  • source: данные, не связанные с тайлами, но связанны с любым источником;
  • style: стиль карты.

Параметры

  • type:string — тип события.
  • dataType:string — тип данных, которые изменились. Может быть: source, style.
  • isSourceLoaded:boolean — true, если событие имеет тип данных source и источник (source) не имеет нерешенных сетевых запросов (outstanding network requests).
  • source:Object — объект типа source.
  • sourceDataType:string — включается, если событие имеет тип данных source и событие сообщает, что внутренние данные были получены или изменены. Возможными значениями являются metadata, content и visibility.
  • tile:Object — загружаемый или изменяемый тайл, если событие имеет тип данных source и связано с загрузкой тайла.
  • coord:Coordinate — координата тайла, если событие имеет тип данных source и событие связано с загрузкой тайла.

src/ui/events.js

См. пример ниже.

// The sourcedata event is an example of MapDataEvent.
// Set up an event listener on the map.
map.on( 'sourcedata' , function (e) {
if (e.isSourceLoaded) {
// Do something when the source has finished loading
}
});

MapWheelEvent

События связанные с wheel.

src/ui/events.js

Свойства

НазваниеОписание
orignalEventСобытие DOM, вызвавшее событие map.
preventDefault()Предотвращает последующую обработку события. Вызов этого метода предотвратит поведение ScrollZoomHandler.
targetОбъект карты, который запустил событие.
typeТип события.