我在应用程序中使用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

10-06 11:40