OpenLayers 默认交互的那些事

142 阅读3分钟

前言

OpenLayers 提供了许多默认的交互操作,方便用户与地图进行交互。这些默认操作为用户提供了丰富的交互方式,能够满足大多数地图查看和分析的需求。开发者还可以根据具体的应用场景对这些操作进行自定义或扩展,以实现更符合用户需求的功能

以下是一些常见默认操作。

1. 常规操作

  • 平移

平移是最基础的操作之一,用户只需通过按住鼠标左键进行拖动,来改变地图的视图位置,查看地图的不同区域。

  • 双击放大

用户可以在地图上任意位置双击左键实现地图放大操作。

  • 滚轮缩放

用户向前滑动滚轮实现地图放大,向后滑动滚轮实现地图缩小。

2. 组合操作

  • 按住Shift键,拖动鼠标左键,可以实现矩形放大。
  • 按住shift键,拖动鼠标右键,可以实现矩形放大。
  • 按住Alt+Shift键,拖动鼠标可以实现地图旋转。

3. 默认地图控件

ol.control.defaults为默认地图控件对象,在该对象中默认开启了属性attribution、旋转rotate地图控件。可以通过defaults方法调整地图控件显示或者隐藏,该方法接收一个地图控件配置对象。地图控件初始布局

如若不需要显示地图控件,可将其对应值设置为false

// 地图默认控件
controls: ol.control.defaults.defaults({
    zoom: true// 缩放控件
    attribution: false// 属性控件
    rotate: false // 旋转控件
})

4. 默认交互控件

默认情况下,地图中包含的一组交互。通过在构造函数选项中将适当的选项设置为false,可以排除特定的交互,但交互的顺序是固定的。如果你想为交互指定不同的顺序,需要在创建Map实例之前创建自己的Interaction实例,并按照自己想要的顺序将它们插入到Collection中。按顺序,默认的交互控件是:DragRotate、DoubleClickZoom、DragPan、PinchRotate、PinchZoom KeyboardPan、KeyboardZoom、MouseWheelZoom、DragZoom

交互控件默认处于开启状态。

如若不需要使用交互控件,可将其对应值设置为false。如需要禁止地图双击放大操作,则将doubleClickZoom值设置为false

// 默认交互控件
interactions: ol.interaction.defaults.defaults({
    altShiftDragRotate: true// Alt+Shift拖动旋转
    doubleClickZoom: true,  // 双击放大
    keyboard: true// 开启键盘
    mouseWheelZoom: true// 滚轮缩放
    shiftDragZoom: true// Shift拖动缩放
    pinchRotate: true// pinch(手势)旋转
    pinchZoom: true// pinch(手势)缩放
    dragPan: false // 平移
})

注:keyboard值虽然设置为true,但测试中发现键盘事件并未起作用

OpenLayers示例数据下载,请回复关键字:ol数据

全国信息化工程师-GIS 应用水平考试资料,请回复关键字:GIS考试

【GIS之路】 已经接入了智能助手,欢迎关注,欢迎提问。

欢迎访问我的博客网站-长谈GIShttp://shanhaitalk.com

都看到这了,不要忘记点赞、收藏 + 关注

本号不定时更新有关 GIS开发 相关内容,欢迎关注 !