将动态矩形限制为一个

Limit the dynamic rectangle to one

在下面plunker中,我可以通过选择多边形工具来添加这么多多边形。但我需要将它限制为只有一个。添加一个多边形后,它应该禁用或者用户不应该能够在地图上放置另一个多边形。 我用过 ngMap https://ngmap.github.io/

几乎与相同的复制品。但我不能为矩形做。

   <ng-map zoom="13" center="37.774546, -122.433523"
            map-type-id="ROADMAP"
            street-view-control-options="{position: 'LEFT_CENTER'}">
        <drawing-manager on-overlaycomplete="onMapOverlayCompleted()"
                         drawing-control-options="{{drawingControlOptions}}"
                         drawingControl="true"
                         drawingMode="null"
                         rectangleOptions="{fillColor:'red'}"
                         circleOptions="{fillColor: '#FFFF00',fillOpacity: 1,strokeWeight: 5,clickable: false,zIndex: 1,editable: true}">
        </drawing-manager>
    </ng-map>

试试这个 plunker

if (e.type == "rectangle") {
   $scope.drawingControlOptions.drawingModes.splice(0, 1);//remove marker mode
}

e.type 这里是字符串。并且您需要从数组的第 0 位置删除“rectangle”。