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

Flutter开发中能否禁用GoogleMap的相机拖动移动功能?

Google Map禁用用户拖动时相机移动的实现方案

该需求可以直接通过Google Map官方SDK提供的手势配置项实现,不同端的具体操作如下:

  • Android平台
    调用地图实例uiSettings对象的setScrollGesturesEnabled(false)方法即可,仅禁用拖动滚动手势,不会影响缩放、旋转等其他交互:
// Java示例
googleMap.getUiSettings().setScrollGesturesEnabled(false);
// Kotlin示例
googleMap.uiSettings.isScrollGesturesEnabled = false
  • iOS平台
    设置GMSMapView实例settings属性的scrollGestures为false:
mapView.settings.scrollGestures = false
  • Web端(JS)
    初始化地图时在配置参数中添加draggable: false即可仅禁止拖动,若要禁用所有手势触发的相机变动可设置gestureHandling: "none":
const map = new google.maps.Map(document.getElementById("map"), {
  center: { lat: 你的纬度, lng: 你的经度 },
  zoom: 你的默认缩放等级,
  draggable: false
});
  • Flutter平台
    直接在GoogleMap组件的初始化参数中设置scrollGesturesEnabled: false即可:
GoogleMap(
  initialCameraPosition: CameraPosition(target: LatLng(0,0), zoom: 10),
  scrollGesturesEnabled: false,
)

如果后续需要恢复拖动功能,只需要将上述对应的配置项改回true即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:09:00