基于arcgis api for javascript3.17,arcgis server10.3
本文主要针对esriGeometryPolygon型(面要素)FeatureLayer中添加自定义属性列的需求。这种client端的数据修改并不会保存到server端
我们知道一般的渲染我们是通过使用FeatureLayer里的值来实现的。但经常有这样的需求,我们需要使用外部的数据(非FeatureLayer图层里自带的数据)来对某一个图层进行渲染,难道还需要我们在arcmap里重新给shp文件添加该列数据然后重新发布service吗?
比较正规的做法是开启服务的Feature Access功能。如下图
但开启该功能需要在发布时指定数据库,否则会报错。详情可以百度ArcGIS server发布FeatureAccess
于是笔者首先想到了使用自定义FeatureLayer。这种自定义的FeatureLayer虽然能解决点和线的需求,但无法解决面要素的增加数据的需求,难不成你还打算在js中自定义绘制中国地图啊
自定义点或者线的FeatureLayer笔者可能会在另一篇博客中给出,当前只说明如何在面要素的FeatureLayer中增加数据。
主要实现原理:
featureLayer.graphics[i].attributes["nico"]=