Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 将动态标记限制为一个_Angularjs_Google Maps_Markers_Ng Map - Fatal编程技术网

Angularjs 将动态标记限制为一个

Angularjs 将动态标记限制为一个,angularjs,google-maps,markers,ng-map,Angularjs,Google Maps,Markers,Ng Map,在下面的plunker中,我可以通过选择marker tool添加这么多标记。但我需要把它限制在一个范围内。添加一个标记后,应禁用该标记,否则用户将无法在地图上放置另一个标记 我用过ngMap。谁能帮帮我吗 <ng-map zoom="13" center="37.774546, -122.433523" map-type-id="ROADMAP" street-view-control-options="{position: 'LEFT_CENTER'}"> <drawin

在下面的plunker中,我可以通过选择marker tool添加这么多标记。但我需要把它限制在一个范围内。添加一个标记后,应禁用该标记,否则用户将无法在地图上放置另一个标记
我用过ngMap。谁能帮帮我吗

 <ng-map zoom="13" center="37.774546, -122.433523"
map-type-id="ROADMAP"
street-view-control-options="{position: 'LEFT_CENTER'}">
<drawing-manager
  on-overlaycomplete="vm.onMapOverlayCompleted()"
  drawing-control-options="{position: 'TOP_CENTER',drawingModes:['polygon','marker']}"
  drawingControl="true"
  drawingMode="null"

  rectangleOptions="{fillColor:'red'}"
  circleOptions="{fillColor: '#FFFF00',fillOpacity: 1,strokeWeight: 5,clickable: false,zIndex: 1,editable: true}" >
</drawing-manager>

plunker在这里:

下面的修改示例演示了在地图上添加标记后如何从图形控件中删除
标记模式
(以防止用户添加其他标记)

var-app=angular.module('myapp',['ngMap']);
应用程序控制器('DrawingManagerCtrl',函数(){
var vm=这个;
vm.drawingControlOptions={
位置:'上止点',
绘图模式:['多边形','标记']
}
vm.onMapOverlayCompleted=函数(e){
if(e.type==google.maps.drawing.overlytype.MARKER){
vm.drawingControlOptions.drawingModes.splice(1,1);//删除标记模式
}
};
});


如果我这样做,是不是错了。请在这里查看您询问的plunker:或者用户不能在地图上放置另一个标记。我演示了如何删除标记选项。你需要禁用标记按钮吗?是的,我明白你的意思。谢谢你的帮助。我的另一个问题是,我正在使用普通的js代码禁用点击。我也可以这样做吗?或者那是错误的做法吗?不,我的答案是错误的。我需要你做的事情。再次感谢您更新了答案(见选项2),在这种情况下,不需要隐藏按钮,可能是更好的解决方案