# 地图交互控制
交互控制 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