我使用google.maps.drawing.DrawingManager
似乎:
drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.MARKER,
markerOptions: {
draggable: true,
optimized: false,
icon: new google.maps.MarkerImage('uxt/images/ap_gif.gif')
},
drawingControlOptions: {
position: google.maps.ControlPosition.TOP_CENTER,
drawingModes: [
google.maps.drawing.OverlayType.MARKER,
google.maps.drawing.OverlayType.POLYGON
]
},
polygonOptions: {
fillColor: '#1E90FF',
strokeWeight: 0,
fillOpacity: 0.3,
editable: true
},
map: mapA
});
所以我的工具栏看起来像:
正如您在默认情况下看到的那样(页面重新加载后)标记被选中但我需要"手" ('停止绘图')被选中。
如何配置drawingManager来实现这个目标?
谢谢。
答案 0 :(得分:21)
只需将选项中的drawingMode
设置为null
:
drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: null,
...
答案 1 :(得分:0)
请检查以下代码。如果它不起作用,那么请查看这篇文章Google Maps API v3: Drawing Manager这可能会有所帮助
var markers = [];
var infowindow = new google.maps.InfoWindow();
function initialize() {
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
drawingManager.setMap(map);
google.maps.event.addListener(drawingManager, 'overlaycomplete', function(event) {
if(event.type == google.maps.drawing.OverlayType.POLYLINE) {
alert("polyline complete");
}
else if(event.type == google.maps.drawing.OverlayType.MARKER) {
var newMarker = event.overlay;
newMarker.content = "marker #" + markers.length;
google.maps.event.addListener(newMarker, 'click', function() {
infowindow.setContent(this.content);
infowindow.open(map, this);
});
markers.push(newMarker);
}
});
}