OpenLayers 默认交互的那些事

关注我,带你一起学GIS ^

注:当前使用的是 ol[9.2.4] 版本,天地图使用的key请到天地图官网申请,并替换为自己的key

前言

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开发  相关内容,欢迎关注 

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部