google-maps-api-3 - 在绘图模式下禁用拖动 Google map

标签 google-maps-api-3

我正在尝试制作一个页面,人们可以在其中在固定区域上画一条线,所以我想阻止 map 被平移、拖动、缩放或移动。我已将我能找到的所有内容都设置为 false 并且它在正常查看模式下工作正常,但是当用户开始使用绘图管理器进行绘图时,滚动缩放功能以及单击拖动功能都会返回。我的第一个想法是这是 Google 代码中的错误/疏忽,但我希望有人能解决。

var myOptions = {
  center: new google.maps.LatLng(-25,177.5),
  zoom: 3,
  mapTypeId: google.maps.MapTypeId.SATELLITE,
  streetViewControl : false,
  zoomControl: false,
  disableDoubleClickZoom: true,
  draggable: false,
  keyboardShortcuts : false,
  navigationControl : false,
  scaleControl : false,
  scrollwheel : false,
  streetViewControl : false
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

更新:这是绘图管理器代码
var drawingManager = new google.maps.drawing.DrawingManager({
      drawingMode: google.maps.drawing.OverlayType.POLYLINE,
      drawingControl: true,
      drawingControlOptions: {
        position: google.maps.ControlPosition.TOP_CENTER,
        drawingModes: [google.maps.drawing.OverlayType.POLYLINE]
      },
      polylineOptions: {
        strokeWeight: 2,
        strokeColor: '#ee9900',
        clickable: false,
        zIndex: 1,
        editable: true
      }
    });
drawingManager.setMap(map);

最佳答案

我建议您将此添加到 Google Maps API 问题跟踪器

http://code.google.com/p/gmaps-api-issues/

这确实看起来像是 API 的问题——基本上是谷歌没有考虑的用例。

但是,我强烈建议您设置一个页面作为演示,并在问题报告中包含链接。

我相信你的话,这正在发生,但如果有一种非常简单的方法可供其他人验证(即用自己的眼睛看到它),那么问题的重量是它的 100 倍。

(是的,人们可以尝试使用您的代码来复制它,但是 1. 它需要做很多工作,并且 2. 很可能会无意中做一些不同的事情,从而回避问题)

关于google-maps-api-3 - 在绘图模式下禁用拖动 Google map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9693064/

相关文章:

php - 在谷歌地图中从mysql数据库创建折线

google-maps - 我可以向 Google map 提供地址而不是纬度和经度吗?

google-maps - 如何计算以像素为单位在 map 上绘制的多边形的面积?

google-maps-api-3 - 如何在 Leaflet JS 中使用来自 Google Geocoder 的 Viewport?

javascript - Google Maps API fitbound 将 map 向左或向右移动

javascript - 谷歌地图API语法错误

reactjs - 设置状态不会更改 GoogleMaps addListener 中的值

javascript - 谷歌地图不显示标记的描述

javascript - 为谷歌地图预加载标记图像

html - 如何使用 iframe 在街景模式下嵌入 Google map ?