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
相关推荐
QQ1__81151751518 分钟前
Spring boot名城小区物业管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
前端·vue.js·spring boot
钛态20 分钟前
前端微前端架构:大项目的救命稻草还是自找麻烦?
前端·vue·react·web
一粒黑子21 分钟前
【实战解析】阿里开源 PageAgent:纯前端 GUI Agent,一行JS让网页支持自然语言操控
前端·javascript·开源
独角鲸网络安全实验室22 分钟前
2026微信小程序抓包全解析:从实操落地到合规风控,解锁前端调试新范式
前端·微信小程序·小程序·抓包·系统代理绕过·https证书严格校验·进程隔离
紫微AI23 分钟前
前端文本测量成了卡死一切创新的最后瓶颈,pretext实现突破了
前端·人工智能·typescript
GISer_Jing23 分钟前
AI前端(From豆包)
前端·aigc·ai编程
IT枫斗者23 分钟前
前端部署后如何判断“页面是不是最新”?一套可落地的版本检测方案(适配 Vite/Vue/React/任意 SPA)
前端·javascript·vue.js·react.js·架构·bug
测试修炼手册23 分钟前
[测试技术] 深入理解 JSON Web Token (JWT)
前端·json
AI老李26 分钟前
2026 年 Web 前端开发的 8 个趋势!
前端
里欧跑得慢27 分钟前
15. Web可访问性最佳实践:让每个用户都能平等访问
前端·css·flutter·web