js api for Arcgis 在线编辑注意事项

arcgis 10 JSAPI2.0编辑空间数据注意事项

资料来源:http://www.gisall.com/html/47/122747-3957.html

1.在使用编辑功能的时候必须把服务发布成feature Service (在服务的属性里面把feature access 选项勾选上)

——FeatureServer服务发布要点

2.数据必须存放在sde里面,普通数据(点线面)不需要注册版本,如果要编辑几何网络等高级数据,则要注册版本

——编辑Sde时要注意的,在Sde Feature Class对象右击快捷菜单中有Register As Versioned。

3.确保代理页面已经添加到web服务器。详细可查看http://www.gisall.com/?uid-122747-action-viewspace-itemid-3853里面的设置

——这个我也折腾了很久就是在<ProxyConfig mustMatch="true">
  <serverUrls></serverUrls> 
</ProxyConfig>

中加入了一个 <serverUrl url="http://192.168.30.28/ArcGIS/rest/services"
              matchAll="true" ></serverUrl>,其中192.168.30.28是ip号

4.在使用FeatureLayer的applyEdits方法时,注意传入的adds、updates、deletes这几个参数,必须是一个graphic的数组,无论是一个或者多个,必须为[graphic1,graphic2],必须带中括号。

——这个让我突然间意识到在http://help.arcgis.com/en/webapi/javascript/arcgis/jsapi/index.html

中看到的类和属性什么的名称变量其实也可以是数组。如http://www.cnblogs.com/esrichina/archive/2012/11/05/2754580.html(这个)

中说的,ArcGIS API for Flex中提供了一些工具实现对Feature的编辑操作,不过其实质是对ArcGIS Server REST API的再包装。为了更大的灵活性,在这里我们谈一下如何直接调用ArcGIS Server REST API来实现对Feature的新增、更新、删除操作。

新增点:点击上图的Add Features进入新页面后,其url地址为http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Fire/Sheep/FeatureServer/0/addFeatures。这个地址即为实现新增feature功能的rest接口,Format选择JSON,在Features中输入[{"geometry":{"y":34,"x":108},"attributes":{"description":"addPoint","type":2}}],点击Add Features按钮开始执行。

我自己的代码: featureLayer.applyEdits(null, [evt.graphic], null); //修改 applyEdits(null, <Graphic[]> updates, null); <Graphic[]>这个可以是数组。

5.对查询出来的数据(query方式),不能进行编辑,在使用applyEdits方法提交的时候无法生效。因为query不在于FeatureLayer里面。因此,如果要对查找出来的数据进行编辑,那就要使用FeatureLayer的selectFeatures(query, selectionMethod?, callback?, errback?)方法获取的graphics。

——在javascript api for arcgis中samples里有一个是http://help.arcgis.com/en/webapi/javascript/arcgis/jssamples/fl_zoomgrid.html

它用到了FeatureLayer的两个方法,除了有 FeatureLayer的selectFeatures() 还有 layer.queryFeatures(query,function(featureSet){});

6.修改graphic的时候,要确保这个graphic没有被上一层的graphicLayer遮挡,这一点很重要。因此,如果对数据进行查找和编辑,建议使用FeatureLayer的selectFeatures方法替代QueryTask的方式。

posted on 2013-04-02 16:30  办幼儿园+国家电网1亿  阅读(1632)  评论(1编辑  收藏  举报

返回顶部