2015-09-15 74 views
0

我有一个Osmdroid-MapView的,其数据被存储在设备上的偏离地图应用程序的:/mnt/sdcard/osmdroid/tiles.zip的Osmdroid,使用不同的离线地图

结构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

不幸的是,你不能真正迫使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

+0

那么如果你批准我的拉请求,我们可以:) – spy

+0

其实,不是mker。对不起,你混入了osmdroid的家伙 – spy

+0

这工作正常。是否可以在1个zip文件中指定不同的XYTileSource名称(以及附带的图块)? – user3589211