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

时间:2012-03-13 22:17:15

标签: 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);

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

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);

1 个答案:

答案 0 :(得分:2)

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

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

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

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

我正在告诉你这是发生的事情,但问题是重量的x100倍,如果有一个非常简单的方法让别人验证(即用自己的眼睛看)。

(是的,人们可以尝试使用你的代码来复制它,但是1.它的工作很多,而且2.很有可能无意中做了一些不同的事情,从而撇开了这个问题)