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

Limit Google Maps Drawing library to one Polyline/shape

本文关键字:一个 折线 形状 绘图 谷歌地图      更新时间:2023-09-26

我有一个独特的问题。我想允许用户只绘制一条折线并将其限制为该折线。我也希望能够随意编辑折线。我找到了这个例子:谷歌地图绘图管理器限制为 1 个多边形,但这基本上只是禁用控制面板,它仍然没有限制任何东西,其次我希望他们能够编辑他们的折线,只是无法创建新的。

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

将侦听器添加到叠加完成或折线完成。保存新图层。然后,您可以在用户绘制另一个后删除旧的。

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)

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