# 事件(Events)

# Events 类型

resize

调整地图大小后立即触发该事件。

remove

地图被移除后触发:Map.remove

mousedown

当指针设备(一般为鼠标)点击地图时触发。

属性

data(MapMouseEvent)

mouseup

当指针设备(一般为鼠标)在地图中被释放时触发。

属性

data(MapMouseEvent)

mouseover

当指针设备(一般为鼠标)在地图中移动时触发。

属性

data(MapMouseEvent)

mousemove

当指针设备(一般为鼠标)在地图中移动时触发。

属性

data(MapMouseEvent)

click

当指针设备(一般为鼠标)在地图同一点处点击并释放时触发。

属性

data(MapMouseEvent)

dbclick

当指针设备(一般为鼠标)双击地图同一点时触发。

属性

data(MapMouseEvent)

mouseout

当指针设备(一般为鼠标)离开地图画布时触发。

属性

data(MapMouseEvent)

contextmenu

点击鼠标右键或点开地图上的快捷菜单(context menu)时触发。

属性

data(MapMouseEvent)

wheel

当事件 wheel (opens new window) 在地图中触发时启动。

属性

data(MapWheelEvent)

touchstart

当事件 touchstart (opens new window) 在地图中触发时启动。

属性

data(MapTouchEvent)

touchend

当事件 touchend (opens new window) 在地图中触发时启动。

属性

data(MapTouchEvent)

touchmove

当事件 touchmove (opens new window) 在地图中触发时启动。

属性

data(MapTouchEvent)

touchcancel

当事件 touchcancel (opens new window) 在地图中触发时启动。

属性

data(MapTouchEvent)

movestart

在用户交互或 Map#jumpTo 等方法使地图开始从一个视图转换到另一个视图之前触发。

属性

data({originalEvent: DragEvent})

move

在用户交互或 Map#flyTo 等方法引发视图动态转换期间重复触发。

属性

data((MapMouseEvent | MapTouchEvent))

moveend

在用户交互或 Map#jumpTo 等方法的作用下,地图完成从一个视图到另一个视图的转换后启动该事件。

属性

data({originalEvent: DragEvent})

dragstart

“拖动平移”交互开始时触发。参看 DragPanHandler

属性

data({originalEvent: DragEvent})

drag

“拖动平移”交互期间重复触发。参看 DragPanHandler

属性

data((MapMouseEvent | MapTouchEvent))

dragend

“拖动平移”交互结束时触发。参看 DragPanHandler

属性

data({originalEvent: DragEvent})

zoomstart

在用户交互或 Map#flyTo 等方法引发缩放级别转换之前触发。

属性

data((MapMouseEvent | MapTouchEvent))

zoom

在用户交互或 Map#flyTo 等方法引发缩放级别动态转换时重复触发。

属性

data((MapMouseEvent | MapTouchEvent))

zoomend

在用户交互或 Map#flyTo 等方法使地图完成缩放级别转换之后触发。

属性

data((MapMouseEvent | MapTouchEvent))

rotatestart

“拖动旋转”交互开始时触发。参看 DragRotateHandler

属性

data((MapMouseEvent | MapTouchEvent))

rotate

“拖动旋转”交互期间重复触发。参看 DragRotateHandler

属性

data((MapMouseEvent | MapTouchEvent))

rotateend

“拖动旋转”结束时触发。参看 DragRotateHandler

属性

data((MapMouseEvent | MapTouchEvent))

pitchstart

在用户交互或 Map#flyTo 等方法使地图倾斜角改变开始时触发。

属性

data(MapEventData)

pitch

在用户交互或 Map#flyTo 等方法使地图倾斜角改变时触发。

属性

data(MapEventData)

pitchend

在用户交互或 Map#flyTo 等方法使地图的倾斜角改变结束之后立即触发。

属性

data(MapEventData)

boxzoomstart

“框内缩放”交互开始时触发。参看 BoxZoomHandler

属性

data(MapBoxZoomEvent)

boxzoomend

“框内缩放”交互结束时触发。参看 BoxZoomHandler

属性

data(MapBoxZoomEvent)

boxzoomcancel

用户取消“框内缩放”交互或限位框未达到最小缩放阈值时触发。参看 BoxZoomHandler

属性

data(MapBoxZoomEvent)

webglcontextlost

当 WebGL context 丢失时触发。

webglcontextrestored

当 WebGL context 恢复时触发。

load

在所有必要数据源下载完毕、且首个可见的地图渲染完毕后立即触发。

render

当地图由于以下操作被绘制到屏幕上时触发

  • 改变地图位置、缩放级别、倾斜度和方位角
  • 改变地图样式
  • 改变 GeoJSON 数据源
  • 载入矢量切片、GeoJSON 文件、glyph 或 sprite
idle

在渲染完地图最后一帧并进入“空闲(idle)”状态之后触发,“空闲(idle)”状态是指:

  • 无运行中的相机转换
  • 所有即时请求的切片已加载完毕
  • 所有淡入淡出/过渡动画都已完成
error

出现错误时触发。 这是 GL JS 的主要报错机制。我们使用一个事件代替 throw 以更好地适应异步操作。如果没有监听器与 error 事件绑定,错误将会被打印到控制台。

属性

data({error: {message: string}})

data

地图数据加载或改变时启动。参看 MapDataEvent 以获取更多信息。

属性

data(MapDataEvent)

styledata

地图样式加载或改变时启动。参看 MapDataEvent 以获取更多信息。

属性

data(MapDataEvent)

sourcedata

加载或改变地图数据源时触发,包括加载或改变属于该数据源的一个切片的情况。参看 MapDataEvent 以获取更多信息。

属性

data(MapDataEvent)

dataloading

任意地图数据(样式、数据源、切片等)开始异步加载或改变时触发。所有 dataloading 事件后都跟有一个 dataerror 事件。参看 MapDataEvent 以获取更多信息。

属性

data(MapDataEvent)

styledataloading

地图样式开始异步加载或改变时触发。所有 styledataloading 事件后都跟有一个 styledataerror 事件。参看 MapDataEvent 以获取更多信息。

属性

data(MapDataEvent)

sourcedataloading

当一个地图数据源开始异步加载或改变时触发。所有 sourcedataloading 事件后都跟有一个 sourcedataerror 事件。参看 MapDataEvent 以获取更多信息。

属性

data(MapDataEvent)

styleimagemissing

当缺失样式所需的图标或图案时触发。此事件可用于动态生成图标和图案。

属性

id(string): 缺失图像的 id 。

# MapMouseEvent

MapMouseEvent 和鼠标指针相关的地图事件类型。

# 实例成员

type

事件类型。

target

触发事件的Map 对象。

originalEvent

导致map事件的DOM事件。

point

鼠标光标相对于地图的像素坐标,从左上角开始测量。

lngLat

鼠标光标在地图上所指的地理位置。

preventDefault()

阻止地图对事件的后续默认处理。

调用此方法将阻止以下默认地图行为:

defaultPrevented

true 假如 preventDefault 被调用。

返回值

boolean

# MapTouchEvent

MapTouchEvent 是与触摸相关的地图事件的事件类型。

# 实例成员

type

事件类型。

target

触发事件的 Map 对象。

originalEvent

导致map事件的DOM事件。

lngLat

触摸中心点在地图上的地理坐标。

point

触摸中心点相对于地图的像素坐标,从左上角开始测量。

points

一个对应的像素坐标数组touch event 的 touches (opens new window) 属性。

lngLats

对应的地理坐标 touch event的 touches (opens new window) 属性。

preventDefault()

阻止地图对事件的后续默认处理。

调用此方法将阻止以下默认地图行为:

defaultPrevented

true 假如 preventDefault 被调用。

返回值

boolean

# MapBoxZoomEvent

# 属性

originalEvent(MouseEvent)

# MapDataEvent

MapDataEvent 对象同 Map.event:dataMap.event:dataloading 事件一起被触发。 dataType的值包括:

  • 'source':与任何数据源相关联的非切片数据
  • 'style':地图所使用的样式

# 属性

type(string): 事件类型。

dataType(string): 已修改的数据类型,值取 'source''style' 之一。

isSourceLoaded(boolean?): 如果事件里有 dataTypesource 的,且source没有未完成的网络请求,则为True。

source(Object?): 如果事件里 dataTypesource,则有此值。

sourceDataType(string?): 该属性包含在内,如果如果事件里 dataTypesource 的,且事件表明了内部数据已被接收或修改。可能的值是 metadatacontent

tile(Object?): 已被加载或修改的切片,如果事件里 dataTypesource 的,且事件与正在加载的切片相关。

coord(Coordinate?): 切片的坐标,如果事件里 dataTypesource 的,且事件与正在加载的切片相关。

# MapWheelEvent

MapWheelEventwheel 地图事件的事件类型。

# 实例成员

type

事件类型。

target

触发该事件的Map实例。

originalEvent

引起该事件的 DOM 事件。

preventDefault()

禁用地图对该事件触发后默认的后续处理。

调用该方法会阻止 ScrollZoomHandler处理行为发生。

defaultPrevented

true 假如 preventDefault 被调用。

返回值

boolean

最后更新于: 11/11/2021, 3:33:23 PM