我有一个带有Osmdroid-MapView的应用程序,其数据存储在设备的off-map中:/mnt/sdcard/osmdroid/tiles.zip
zip文件的结构:
+-- MapquestOSM
+-- 10
¦ +-- 550
¦ +-- 335.png
...
我的目标:我想存储不同的离线地图,然后可以存储 在该计划中选择。
我的问题:我以什么形式将地图存储在osmdroid文件夹中?如何判断Osmdroid是我的选择?
部分来源:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setClickable(true);
mapView.setBuiltInZoomControls(true);
mapView.setMultiTouchControls(true);
mapView.setUseDataConnection(true);
mapView.setTileSource(TileSourceFactory.MAPQUESTOSM);
IMapController mapViewController = mapView.getController();
mapViewController.setZoom(15);
mapViewController.setCenter(BERLIN);
}
请帮忙!
关心Wicki
答案 0 :(得分:1)
不幸的是,你无法真正强制osmdroid加载一个特定的zip。
您可以使用XYTileSource名称,因为它必须与zip文件中的根目录名称匹配:
map.setTileSource(new XYTileSource("Map_1",
ResourceProxy.string.mapquest_osm, 0, 18, 256, ".png", new String[] {
"http://otile1.mqcdn.com/tiles/1.0.0/map/",
"http://otile2.mqcdn.com/tiles/1.0.0/map/",
"http://otile3.mqcdn.com/tiles/1.0.0/map/",
"http://otile4.mqcdn.com/tiles/1.0.0/map/"}));
只会使用如下结构的zip文件:
+-- Map_1
+-- 10
¦ +-- 550
¦ +-- 335.png
...