? 前言
在使用 OpenLayers 開發地圖類項目時,我們有時會希望用戶必須按下 CTRL(或 Mac 的 Command ? 鍵)才能拖拽地圖或使用鼠標滾輪縮放。這種交互方式能夠避免用戶在瀏覽頁面時意外滑動或拖動地圖,尤其是在地圖嵌入頁面中時非常有用。
本文將帶你一步一步實現在 Vue 3 中集成 OpenLayers,并通過 platformModifierKeyOnly
條件控制用戶的拖拽和平移行為。
?? 效果展示
在頁面加載后:
-
用戶 直接拖拽或滾動鼠標滾輪無效。
-
只有當用戶按下 Ctrl 鍵的同時,才能進行拖拽或縮放操作。
-
同樣支持移動設備上兩指縮放、拖拽操作。
你也可以根據需要擴展:
-
鼠標提示:“按住 Ctrl 可移動地圖”
-
手動切換交互狀態(通過按鈕啟用/禁用)