我在应用程序中使用Google Drawing Library
。在这种情况下,当用户单击Add New Marker
Button
时,我将激活Drawing Manager
,并且用户可以单击地图上的任意位置以生成Marker
,然后执行我的以下listener
google.maps.event.addListener(LocationClass.dm, 'markercomplete', function(marker)
{
LocationClass.markerArray.push(marker);
marker.set("id", "marker_"+LocationClass.markerArray.length);
LocationClass.creatEvent();
LocationClass.dm.setDrawingMode(google.maps.drawing.OverlayType.FALSE);
});
当前,用户必须先单击“按钮”以激活图形管理器,然后单击地图上的任意点以生成标记。
但是我想当用户单击按钮时,图形管理器将激活并自动在地图上的任何点(或中心)添加标记,以便执行相同的
listener
那我该怎么办呢?
这是Demo页面
最佳答案
更新的答案:添加新标记后,您可以将标记添加到地图的中心,例如:
newMarker:function() {
LocationClass.dm.setDrawingMode(google.maps.drawing.OverlayType.MARKER);
var centerMarker = new google.maps.Marker({
map: LocationClass.map,
position: LocationClass.map.getCenter()
});
google.maps.event.trigger(LocationClass.dm, 'markercomplete', centerMarker);
},
请参见updated fiddle。