✨ 前言
在使用 OpenLayers 开发地图类项目时,我们有时会希望用户必须按下 CTRL(或 Mac 的 Command ⌘ 键)才能拖拽地图或使用鼠标滚轮缩放。这种交互方式能够避免用户在浏览页面时意外滑动或拖动地图,尤其是在地图嵌入页面中时非常有用。
本文将带你一步一步实现在 Vue 3 中集成 OpenLayers,并通过 platformModifierKeyOnly
条件控制用户的拖拽和平移行为。
🧪 效果展示
在页面加载后:
-
用户 直接拖拽或滚动鼠标滚轮无效。
-
只有当用户按下 Ctrl 键的同时,才能进行拖拽或缩放操作。
-
同样支持移动设备上两指缩放、拖拽操作。
你也可以根据需要扩展:
-
鼠标提示:“按住 Ctrl 可移动地图”
-
手动切换交互状态(通过按钮启用/禁用)