将Google地图绘图库限制为一个折线/形状

时间:2015-01-06 21:42:11

标签: javascript google-maps google-maps-api-3

我有一些独特的问题。我想允许用户只绘制一条折线并将其限制为该折线。我也希望能够随意编辑折线。我找到了这个例子:Google Maps Drawing Manager limit to 1 polygon但是这基本上只是禁用了控制面板,它仍然没有限制任何东西,其次我希望它们能够编辑它们的折线,只是不能创建新的折线。

如果他们有某种onDrawStart监听器可以清除以前的形状,我甚至会很好,但就我所知,他们没有任何这样的倾听者。谢谢!

1 个答案:

答案 0 :(得分:1)

为overlaycomplete或polylinecomplete添加一个监听器。保存新图层。然后你可以在用户绘制另一个之后删除旧的..

google.maps.event.addListener(map.drawingManager, "overlaycomplete", function(event){                                       
        event.overlay.overlayType = event.type;
    lastOverlay = event.overlay; // Save it
    map.drawingManager.setDrawingMode(null); // Return to 'hand' mode 
});  

所以,如果你想删除图层=> lastOverlay.setMap(null)

当用户选择绘图工具时,还会触发一个侦听器。嗯,我找不到这个听众。不确定它是否真的存在。