0
我可以从ArcGIS Android SDK-100.1.0下载地图,但之后我将如何编辑此地图,即添加或删除标记点,并在此编辑之后我需要将离线编辑数据同步到ArcGIS Map服务器。这里是我的离线地图代码 -ArcGIS Runtime Android SDK100.1.0离线地图编辑和同步
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。请帮帮我。
感谢您的回复,但您发送的内容仅仅是一个链接,除了同步链接以外,还有我观看过的所有上述三个链接。同步将在编辑后完成。所以我的关注点是如何编辑下载的地图并在此之后同步。编辑功能是不同的事情。 –
编辑下载的地图是什么意思?您是否尝试修改要素图层? – falldownhill
是的。假设我想在特定点上添加标记,这一点将会同步,并且它还会在下次显示在线服务以及离线服务 –