首页 文章

Osmdroid,使用不同的离线 Map

提问于
浏览
0

我有一个带有Osmdroid-MapView的应用程序,其数据存储在设备的off-map中:/mnt/sdcard/osmdroid/tiles.zip

zip文件的结构:

+-- MapquestOSM
+-- 10
¦ +-- 550
¦ +-- 335.png
...

我的目标:我想存储不同的离线 Map ,然后可以在程序中选择 .

我的问题:我以什么形式将 Map 存储在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 回答

  • 1

    不幸的是,你不能真正强迫osmdroid加载一个特定的拉链 .

    你可以做的是使用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

相关问题