使用Angular DrawingManager清洁地图

时间:2015-12-23 10:14:29

标签: angularjs angular-google-maps

我在我的应用中使用angular-google-maps并使用该指令绘制折线。

一切正常但现在我需要能够创建一个清除所有绘制线条的按钮。

我在API文档中找不到与此相关的任何内容。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

至少我能找到解决方案。

我可以猜到,一旦形状完成,事件“覆盖完成”#39;触发然后你可以将生成的对象放到一个全局数组中,所以当你想清除Map中的所有形状时,你只需遍历全局数组并调用setmap(null)。

以下是活动:

overlaycomplete: function (dm, name, scope, objs) {
                _self.dm_overlays.push( objs );
                _self.drawingManagerOptions = { drawingMode: null };
            }

如您所见,我将对象放在数组 dm_overlays 中。

从地图中清除形状的功能是:

for ( var idx=0; idx < _self.dm_overlays.length; idx++ ) {
                _self.dm_overlays[idx][0].overlay.setMap(null);
            }

我希望这可以提供帮助。