Javascript 在NgMap中显示和隐藏绘图控件-谷歌地图

Javascript 在NgMap中显示和隐藏绘图控件-谷歌地图,javascript,angularjs,google-maps,ng-map,Javascript,Angularjs,Google Maps,Ng Map,我想让用户单击按钮,在地图上显示绘图控件。添加圆、标记等后,绘图控件将再次隐藏 我正在构建一个Angular应用程序,我正在使用NgMap指令() 我的示例代码如下所示: html: <ng-map id="myMap"> <drawing-manager on-overlaycomplete="ctrl.onMapOverlayCompleted()" drawingControl="ctrl.showDrawCont

我想让用户单击按钮,在地图上显示绘图控件。添加圆、标记等后,绘图控件将再次隐藏

我正在构建一个Angular应用程序,我正在使用NgMap指令()

我的示例代码如下所示:

html:

<ng-map id="myMap">
    <drawing-manager 
        on-overlaycomplete="ctrl.onMapOverlayCompleted()"
                drawingControl="ctrl.showDrawControl">
        </drawing-manager>
</ng-map>
vm.showDrawControl = true;
        NgMap.getMap({ id: 'myMap' }).then(function (map) {
            vm.onMapOverlayCompleted = function (event) {
                vm.showDrawControl = false;
                alert(vm.showDrawControl);
            }            
        });

在OverlyComplete上调用该函数,但控件未隐藏?

检查ng map的源代码时,我发现缺少“观察者到绘图控件”属性,因此在使用角度绑定进行初始设置后无法更新

解决该问题的两个备选方案:

1) 修补ng-map.js,将以下代码添加到:

2) 如前所述,直接使用谷歌地图API

检查我的plunker以获得选项2:

注意:在上面的Plunker中,您还可以看到一个修补版的ng map(但未使用,但测试正常)

    attrs.$observe('drawingcontrol', function (newValue) {
        drawingManager.setOptions({
          drawingControl: (newValue=="true" ? true : false)
        });
    });
    map.mapDrawingManager[0].setOptions({drawingControl:false/true})