openlayers禁用鼠标滚轮放大、拖拽事件并设置为只有按住Ctrl键才可以执行放大拖拽操作

禁用openlayers鼠标滚轮放大、拖拽移动地图设置这两行代码即可:

复制代码
new Map({
      interactions: defaults({ dragPan: false, mouseWheelZoom: false }),
})

或者设置只允许按住Ctrl键才可以操作

复制代码
import { DragPan, MouseWheelZoom, defaults } from "ol/interaction.js";
import { platformModifierKeyOnly } from "ol/events/condition.js";

const map = new Map({
      interactions: defaults({ dragPan: false, mouseWheelZoom: false }).extend([
        new DragPan({
          condition: function (event) {
            return (
              // 检查是否有两个触点,或者按下了ctrl键
              this.getPointerCount() === 2 || platformModifierKeyOnly(event)
            );
          },
        }),
        new MouseWheelZoom({
          condition: platformModifierKeyOnly,
        }),
      ]),
      layers: [
        new TileLayer({
          source: new OSM(),
        }),
      ],
      target: "map",
      view: new View({
        center: [0, 0],
        zoom: 2,
      }),
    });
  • new MouseWheelZoom({ condition: platformModifierKeyOnly }) 用于创建一个鼠标滚轮缩放交互
  • condition是一个配置项,用于指定触发缩放的条件。
  • platformModifierKeyOnly是一个条件函数,仅在按住平台修饰键(如 Ctrl 键)时返回 true
相关推荐
鹿心肺语3 小时前
前端HTML转PDF的两种主流方案深度解析
前端·javascript
海石4 小时前
去到比北方更北的地方—2025年终总结
前端·ai编程·年终总结
一个懒人懒人4 小时前
Promise async/await与fetch的概念
前端·javascript·html
Mintopia4 小时前
Web 安全与反编译源码下的权限设计:构筑前后端一致的防护体系
前端·安全
输出输入4 小时前
前端核心技术
开发语言·前端
Mintopia4 小时前
Web 安全与反编译源码下的权限设计:构建前后端一体的信任防线
前端·安全·编译原理
林深现海4 小时前
Jetson Orin nano/nx刷机后无法打开chrome/firefox浏览器
前端·chrome·firefox
黄诂多5 小时前
APP原生与H5互调Bridge技术原理及基础使用
前端
前端市界5 小时前
用 React 手搓一个 3D 翻页书籍组件,呼吸海浪式翻页,交互体验带感!
前端·架构·github
文艺理科生5 小时前
Nginx 路径映射深度解析:从本地开发到生产交付的底层哲学
前端·后端·架构