arcgis for javascript 画图结束添加多个图形问题

转:http://blog.csdn.net/wd4java/article/details/43266241

在Draw工具中 draw-end(画图结束后想地图添加图形)

发现第一次添加一个图形,第二次添加两个图形,第三次添加三个图形,依次递增

[javascript]  view plain  copy
  1. //新增图形  
  2. function addLifeBoundary(){  
  3.     alert("新增图形");  
  4.     lifeFeatureLayer.clearSelection();  
  5.     lifeFeatureLayer.refresh();  
  6.     drawToolbar.activate(Draw.POLYGON);  
  7.     lifeFeatureLayer.remove(newGraphic);  
  8.     drawToolbar.on("draw-complete", addToMap);  
  9.     //drawToolbar.deactivate();  
  10.       
  11. }  
  12. function addToMap(evt) {  
  13.     var polygonSymbol = new SimpleFillSymbol(  
  14.             SimpleFillSymbol.STYLE_SOLID,   
  15.             new SimpleLineSymbol(  
  16.               SimpleLineSymbol.STYLE_SOLID,   
  17.               new Color([151, 249, 0, 0.8]),  
  18.               3  
  19.             ),   
  20.             new Color([151, 249, 0, 0.45])  
  21.           );  
  22.       
  23.     var newGraphic1 = new Graphic(evt.geometry,polygonSymbol);  
  24.     lifeFeatureLayer.applyEdits([newGraphic1],nullnull);  
  25.       
  26.     drawToolbar.finishDrawing();  
  27.       
  28.     drawToolbar.deactivate();     
  29.     map.removeLayer(lifeFeatureLayer);  
  30.     map.addLayer(lifeFeatureLayer);  
  31.     event.stop(evt);//停止本次事件(保存的时候容易保存上次的图形,并且依次递增)  
  32. }  

解决方法就是

添加个event.stop(evt)

event.stop(evt)具体写法

[html]  view plain  copy
  1. dojo.addOnLoad(function(){  
  2.     var node = dojo.byId("delete");  
  3.     dojo.connect(node, "onclick", function(e){  
  4.         dojo.stopEvent(e); // prevents default link execution  
  5.         // some code custom execution  
  6.     });  
  7. });  

[html]  view plain  copy
  1. <a href="/delete" id="delete">Delete</a>  


上面是禁用事件的方法

另一种方法就是把drawtoolbar 设置成局部变量


顺便记录下禁用图层点击

[javascript]  view plain  copy
  1. layer.on("click",function(evt){  
  2.      event.stop(evt);  
  3. });  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值