You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅禁用Mapbox单指缩放手势且不影响双指缩放功能

解决方案

你之前调用map.touchZoomRotate.disable()会直接关闭整个触摸缩放旋转处理器,因此会同时导致双指缩放失效,不要直接禁用整个处理器,按以下方案配置即可仅关闭单指缩放手势:

1. 地图初始化时配置

如果初始化阶段就需要禁用单指缩放,直接在地图配置项中添加对应参数即可:

const map = new mapboxgl.Map({
  // 你的其他基础配置:container、style、center、zoom等
  touchZoomRotate: {
    singleTouchZoom: false
  }
});

将singleTouchZoom设为false后,你描述的「双击后第二次点击长按拖动缩放」的单指手势就会被禁用,双指缩放、双指旋转功能不受影响。

2. 地图初始化后动态调整

如果需要在地图加载完成后动态开关单指缩放,使用以下代码:

// 先确保触摸缩放旋转处理器处于启用状态
map.touchZoomRotate.enable();
// 仅禁用单指缩放
map.touchZoomRotate.enable({
  singleTouchZoom: false
});

可选补充

如果同时需要禁用「快速双击屏幕直接放大」的默认手势,可以额外调用:

map.doubleClickZoom.disable();

该操作同样不会影响双指缩放的正常使用。


内容的提问来源于stack exchange,提问作者jot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:27:03