最近项目上出了个小BUG,使用arcgisApi绘制的图形可以正常获取,但是拖动端点,改变绘制范围之后的图形就没办法获取,经过我n多天的百度,最终解决,在此记录一下。
首先你的图形要有端点,如果没有端点,那就别说了,端点的实现方式很简单
var map = new Map("mapDiv", {center: MapCenterPoint, zoom: 12, logo: false});
editToolbar = new esri.toolbars.Edit(map);
map.graphics.on("click",function (e) {
if(e.graphic && !drawing){
if(!editingEnabled){
editingEnabled = true;
editToolbar.activate(esri.toolbars.Edit.EDIT_VERTICES,e.graphic);
}else{
editingEnabled = false;
editToolbar.deactivate();
}
}
})
然后我们需要做的是监听端点被拖动的事件,这个网上资料很少,我最后在arcgisApi官网上找到的,链接如下
https://developers.arcgis.com/javascript/3/jsapi/edit-amd.html
配合有道翻译,成功找到事件
vertex-move-stop
具体代码如下
editToolbar.on("vertex-move-stop", function(evt) {
if(editingEnabled){//当允许编辑的时候,将新的坐标保存
//这是我的业务逻辑
orGraphics.geometry.rings = evt.graphic.geometry.rings;
setValue();
}
});
完美解决