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

来源:互联网 发布:淘宝网腊肠灌肠机 编辑:程序博客网 时间:2024/05/22 13:46

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

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

//新增图形function addLifeBoundary(){alert("新增图形");lifeFeatureLayer.clearSelection();lifeFeatureLayer.refresh();drawToolbar.activate(Draw.POLYGON);lifeFeatureLayer.remove(newGraphic);drawToolbar.on("draw-complete", addToMap);//drawToolbar.deactivate();}function addToMap(evt) {var polygonSymbol = new SimpleFillSymbol(            SimpleFillSymbol.STYLE_SOLID,             new SimpleLineSymbol(              SimpleLineSymbol.STYLE_SOLID,               new Color([151, 249, 0, 0.8]),              3            ),             new Color([151, 249, 0, 0.45])          );var newGraphic1 = new Graphic(evt.geometry,polygonSymbol);lifeFeatureLayer.applyEdits([newGraphic1],null, null);drawToolbar.finishDrawing();drawToolbar.deactivate();map.removeLayer(lifeFeatureLayer);map.addLayer(lifeFeatureLayer);event.stop(evt);//停止本次事件(保存的时候容易保存上次的图形,并且依次递增)}

解决方法就是

添加个event.stop(evt)

event.stop(evt)具体写法

dojo.addOnLoad(function(){    var node = dojo.byId("delete");    dojo.connect(node, "onclick", function(e){        dojo.stopEvent(e); // prevents default link execution        // some code custom execution    });});

<a href="/delete" id="delete">Delete</a>


上面是禁用事件的方法

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


顺便记录下禁用图层点击

layer.on("click",function(evt){     event.stop(evt);});





0 0
原创粉丝点击