本文主要是介绍arcgis for javascript- Draw画图结束添加多个图形问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在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);
});
这篇关于arcgis for javascript- Draw画图结束添加多个图形问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!