当绘图管理器为标记激活时,自动单击地图中心

Automatic click on map center when Drawing Manager is active for Markers

本文关键字:单击 地图 管理器 绘图 激活      更新时间:2023-09-26

我在我的应用程序中使用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);
},

参见更新后的fiddle