我能够从Arcgis Android SDK-100.1.0下载地图,但是在此之后,我将如何编辑此地图,即添加或删除标记点,然后在此编辑之后,我将需要脱机编辑数据与ArcGIS Map Server同步。这是我的离线图码 -
private MapView mMapView;
private ArcGISMap map;
private ArcGISTiledLayer tiledLayer;
private Geodatabase geodatabase;
private Activity activity;
public void loadOfflineMap() {
Toast.makeText(activity, activity.getFilesDir().getAbsolutePath(), Toast.LENGTH_LONG).show();
//--- get links to cached resources
String strTpkPath = activity.getFilesDir().getAbsolutePath()+"/tiles.tpk";
String strGeoDbPath = activity.getFilesDir().getAbsolutePath()+"/layers.geodatabase";
File sdCard = Environment.getExternalStorageDirectory();
File dir = new File (sdCard.getAbsolutePath() + "/arcGIS");
dir.mkdir();
File file = new File(sdCard.getAbsolutePath() + "/testfile.txt");
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
//--- create a tiled layer using the tile package
TileCache tileCache = new TileCache(strTpkPath);
tiledLayer = new ArcGISTiledLayer(tileCache);
//--- set tiled layer as basemap
Basemap basemap = new Basemap(tiledLayer);
//--- create a map with the basemap
map = new ArcGISMap(basemap);
mMapView.setMap(map);
//--- instantiate geodatabase with name
geodatabase = new Geodatabase(strGeoDbPath);
//--- load the geodatabase for feature tables
geodatabase.loadAsync();
//--- add feature layer from geodatabase to the ArcGISMap
geodatabase.addDoneLoadingListener(new Runnable() {
@Override
public void run() {
for (GeodatabaseFeatureTable geoDBTable: geodatabase.getGeodatabaseFeatureTables()) {
mMapView.getMap().getOperationalLayers().add(new FeatureLayer(geoDBTable));
}
}
});
}
我无法使用此版本的ArcGIS SDK找到任何解决方案。请帮助我。
您是否查看了编辑指南:https://developers.arcgis.com/android/latest/guide/editing.htm
和同步:https://developers.arcgis.com/android/latest/guide/sync-ffline-edits.htm
还有用于编辑附件的示例代码:https://developers.arcgis.com/android/latest/sample-code/edit-feature-attachments.htm
如果那些没有回答您的任何问题,请告诉我,我会尝试进一步协助。