# 事件(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)
webglcontextlost
当 WebGL context 丢失时触发。
webglcontextrestored
当 WebGL context 恢复时触发。
load
在所有必要数据源下载完毕、且首个可见的地图渲染完毕后立即触发。
render
当地图由于以下操作被绘制到屏幕上时触发
- 改变地图位置、缩放级别、倾斜度和方位角
- 改变地图样式
- 改变 GeoJSON 数据源
- 载入矢量切片、GeoJSON 文件、glyph 或 sprite
idle
在渲染完地图最后一帧并进入“空闲(idle)”状态之后触发,“空闲(idle)”状态是指:
- 无运行中的相机转换
- 所有即时请求的切片已加载完毕
- 所有淡入淡出/过渡动画都已完成
error
出现错误时触发。 这是 GL JS 的主要报错机制。我们使用一个事件代替 throw
以更好地适应异步操作。如果没有监听器与 error
事件绑定,错误将会被打印到控制台。
属性
data({error: {message: string}})
dataloading
任意地图数据(样式、数据源、切片等)开始异步加载或改变时触发。所有 dataloading
事件后都跟有一个 data
或 error
事件。参看 MapDataEvent 以获取更多信息。
属性
data(MapDataEvent)
styledataloading
地图样式开始异步加载或改变时触发。所有 styledataloading
事件后都跟有一个 styledata
或 error
事件。参看 MapDataEvent 以获取更多信息。
属性
data(MapDataEvent)
sourcedataloading
当一个地图数据源开始异步加载或改变时触发。所有 sourcedataloading
事件后都跟有一个 sourcedata
或 error
事件。参看 MapDataEvent 以获取更多信息。
属性
data(MapDataEvent)
styleimagemissing
当缺失样式所需的图标或图案时触发。此事件可用于动态生成图标和图案。
属性
id(string)
: 缺失图像的 id 。
# MapMouseEvent
MapMouseEvent
和鼠标指针相关的地图事件类型。
# 实例成员
type
事件类型。
target
触发事件的Map
对象。
originalEvent
导致map事件的DOM事件。
point
鼠标光标相对于地图的像素坐标,从左上角开始测量。
lngLat
鼠标光标在地图上所指的地理位置。
preventDefault()
阻止地图对事件的后续默认处理。
调用此方法将阻止以下默认地图行为:
- On
mousedown
事件中,行为 DragPanHandler - On
mousedown
事件中,行为 DragRotateHandler - On
mousedown
事件中,行为 BoxZoomHandler - On
dblclick
事件中,行为 DoubleClickZoomHandler
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()
阻止地图对事件的后续默认处理。
调用此方法将阻止以下默认地图行为:
- 在
touchstart
事件中,行为 DragPanHandler - 在
touchstart
事件中,行为 TouchZoomRotateHandler
defaultPrevented
true
假如 preventDefault
被调用。
返回值
boolean
# MapBoxZoomEvent
# 属性
originalEvent(MouseEvent)
# MapDataEvent
MapDataEvent
对象同 Map.event:data 和 Map.event:dataloading 事件一起被触发。 dataType
的值包括:
'source'
:与任何数据源相关联的非切片数据'style'
:地图所使用的样式
# 属性
type(string)
: 事件类型。
dataType(string)
: 已修改的数据类型,值取 'source'
和 'style'
之一。
isSourceLoaded(boolean?)
: 如果事件里有 dataType
为 source
的,且source
没有未完成的网络请求,则为True。
source(Object?)
: 如果事件里 dataType
为 source
,则有此值。
sourceDataType(string?)
: 该属性包含在内,如果如果事件里 dataType
为 source
的,且事件表明了内部数据已被接收或修改。可能的值是 metadata
和 content
。
tile(Object?)
: 已被加载或修改的切片,如果事件里 dataType
为 source
的,且事件与正在加载的切片相关。
coord(Coordinate?)
: 切片的坐标,如果事件里 dataType
为 source
的,且事件与正在加载的切片相关。
# MapWheelEvent
MapWheelEvent
是 wheel
地图事件的事件类型。
# 实例成员
type
事件类型。
target
触发该事件的Map
实例。
originalEvent
引起该事件的 DOM 事件。
defaultPrevented
true
假如 preventDefault
被调用。
返回值
boolean