2015-09-15 77 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