Osmdroid,使用不同的离线地图

时间:2015-09-15 15:58:15

标签: osmdroid

我有一个带有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

1 个答案:

答案 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
...

另请参阅:Download maps for osmdroid