ArcGIS for Android端Shapefile文件的编辑和标注如何实现?

ArcGIS for Android端Shapefile文件的编辑和标注如何实现?
已邀请:

张赛

赞同来自: 张宝才

【解决办法】:
从100.2.0开始,ArcGIS Runtime SDK for Android端开始支持Shapefile的加载和离线编辑。

关于离线编辑的初步了解,可参见下面的知乎文章:
http://zhihu.esrichina.com.cn/article/3604

更多的Shapefile的离线操作,请参见ArcGIS Runtime SDK for Android的在线帮助文档:
https://developers.arcgis.com/ ... .html

所有编辑操作都继承自ShapefileFeatureTable的父类FeatureTable

此外,Shapefile的标注可通过设置LabelDefinition实现。
简单示例如下:



shapefileFeatureTable_Point = new ShapefileFeatureTable(Environment.getExternalStorageDirectory().getAbsolutePath() + /ArcGIS/hurricane/hurricane.shp);
FeatureLayer featureLayer = new FeatureLayer(shapefileFeatureTable_Point);
// 设置标记符号
featureLayer.setRenderer(new SimpleRenderer(new SimpleMarkerSymbol(SimpleMarkerSymbol.Style.CIRCLE, Color.RED, 20)));
// 创建label字符串
String strLabelDefinition = {\labelExpression\: \[EVENTID]\,\labelPlacement\: \esriServerPointLabelPlacementAboveCenter\,\symbol\: {\color\: [255,0,255,123],\font\: {\size\: 16,\family\:\Microsoft YaHei\},\type\: \esriTS\}};

// 构建LabelDefinition
LabelDefinition labelDefinition = LabelDefinition.fromJson(strLabelDefinition);
featureLayer.getLabelDefinitions().add(labelDefinition);

// 启用Label标注
featureLayer.setLabelsEnabled(true);

​arcGISMap.getOperationalLayers().add(featureLayer);

要回复问题请先登录注册