禁止在绘图模式下拖动 Google 地图

Cra*_*aig 5 google-maps-api-3

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

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);
Run Code Online (Sandbox Code Playgroud)

更新:这是绘图管理器代码

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);
Run Code Online (Sandbox Code Playgroud)

bar*_*ter 2

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

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

这确实看起来像是 API 的问题——基本上是 Google 没有考虑到的一个用例。

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

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

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