# 地图交互控制
交互控制 Handlers 为地图提供了多种交互功能 - 鼠标交互, 触摸交互, 以及其他手势交互功能。
# BoxZoomHandler
BoxZoomHandler 允许用户将地图缩放到适合限位框的大小。 可以通过按住shift键并拖动光标定义限位框。
# 实例成员
isEnabled()
返回一个指示 "box zoom" 交互是否激活的布尔值。
返回值
boolean: true "box zoom" 已启用
isActive()
返回一个布尔值指示 "box zoom" 交互是被激活,也就是说否正在使用。
返回值
boolean: true "box zoom" 处于激活状态。
enable()
启用 "box zoom" 功能。
示例
map.boxZoom.enable();
disable()
禁用 "box zoom" 功能。
示例
map.boxZoom.enable();
# ScrollZoomHandler
此 ScrollZoomHandler 能够让用户通过滚动来缩放地图。
# 实例成员
setZoomRate(zoomRate)
设置触摸板的缩放比例。
参数
zoomRate(number)(default 1/100)
setWheelZoomRate(wheelZoomRate)
设置滚动的缩放比例。
返回值
wheelZoomRate(number)(default 1/450)
isEnabled()
返回一个布尔值,用于表示“滚动缩放”交互是否激活。
返回值
boolean: true 表示“滚动缩放”交互已激活。
enable(options?)
激活“滚动缩放”交互功能。
参数
options(Object?)
| Name | Description |
|---|---|
options.around string? | 如果传递了“center”,将以当前地图为中心缩放地图。 |
示例
map.scrollZoom.enable();
map.scrollZoom.enable({ around: 'center' });
disable()
禁用 "滚动缩放" 功能。
示例
map.scrollZoom.enable();
# DragPanHandler
DragPanHandler 允许用户通过点击并且拖拽光标来平移地图。
# 实例成员
isEnabled()
返回一个布尔值,该布尔值表明 "拖拽平移" 交互功能是否被启用。
返回值
boolean: true 如果"拖拽平移" 交互功能被开启。
isActive()
返回一个布尔值,该布尔值表示"拖拽平移" 交互功能是否为活动的(也就是说当前正在被使用)。
返回值
boolean: true 如果 "拖拽平移" 交互正在运行中。
enable()
开启 "拖拽平移" 交互功能。
示例
map.dragPan.enable();
disable()
开启 "拖拽平移" 交互功能。
示例
map.dragPan.disable();
# DragRotateHandler
DragRotateHandler 允许用户通过按住鼠标右键并拖拽光标来旋转地图,或按下ctrl 键并拖拽光标来旋转地图。
# 实例成员
isEnabled()
返回一个布尔值,该布尔值表示 "拖拽旋转" 交互功能是否被开启。
返回值
boolean: true 如果 "拖拽旋转" 交互功能被开启。
isActive()
返回一个布尔值,该布尔值表示 "拖拽旋转" 交互功能是否为运行中(也就是说当前正在被使用)。
返回值
boolean: true 如果 "拖拽旋转" 交互正在运行中。
enable()
开启 "拖拽旋转" 交互功能。
示例
map.dragRotate.enable();
disable()
禁用 "拖拽旋转" 交互功能。
示例
map.dragRotate.disable();
# KeyboardHandler
KeyboardHandler 允许用户使用下列键盘快捷键对地图进行缩放、旋转以及平移:
=/+:缩放级别增加 1 级。Shift-=/Shift-+:缩放级别增加 2 级。-:缩放级别减小 1 级。Shift--:缩放级别减小 2 级。Arrow keys:平移 100 像素。Shift+⇢:增加 15 度旋转。Shift+⇠:减少 15 度旋转。Shift+⇡:增加 10 度倾斜角。Shift+⇣:减少 10 度倾斜角。
# 实例成员
isEnabled()
返回一个指示键盘交互功能是否启用的布尔值。
返回值
boolean: true 如果启用键盘交互功能。
enable()
启用键盘交互功能。
示例
map.keyboard.enable();
disable()
禁用键盘交互功能。
示例
map.keyboard.disable();
# DoubleClickZoomHandler
DoubleClickZoomHandler 允许用户通过在地图上双击缩放地图。
# 实例成员
isEnabled()
返回一个布尔值,该布尔值表明 "双击缩放" 交互功能是否被启用。
返回值
boolean: true 如果 "双击缩放" 交互功能被启用。
isActive()
返回一个布尔值,该布尔值表示"双击缩放" 交互功能是否被激活,比如当前正在被使用。
返回值
boolean: true 如果 "双击缩放" 交互功能已激活。
enable()
启用 "双击缩放" 交互功能。
示例
map.doubleClickZoom.enable();
disable()
禁用 "双击缩放" 交互功能。
示例
map.doubleClickZoom.disable();
# TouchZoomRotateHandler
The TouchZoomRotateHandler 允许用户通过捏合触摸屏来缩放和旋转地图。
# 实例成员
isEnabled()
返回布尔值,表征"pinch to rotate and zoom"交互功能是否激活。
返回值
boolean: true 如果 "pinch to rotate and zoom" 交互功能已激活。
enable(options?)
激活 "pinch to rotate and zoom" 交互功能。
参数
options(Object?)
| Name | Description |
|---|---|
options.around string? | 如传入 "center" 参数,地图将围绕"center"缩放 |
示例
map.touchZoomRotate.enable();
map.touchZoomRotate.enable({ around: 'center' });
disable()
禁用 "pinch to rotate and zoom" 交互功能。
示例
map.touchZoomRotate.disable();
disableRotation()
禁用 "pinch to rotate" 交互功能, 同时激活 "pinch to zoom" 交互功能。
示例
map.touchZoomRotate.disableRotation();
enableRotation()
激活 "pinch to rotate" 交互功能.
示例
map.touchZoomRotate.enable();
map.touchZoomRotate.enableRotation();
2