我正在尝试制作一个页面,人们可以在其中在固定区域上画一条线,所以我想阻止 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/