簡體   English   中英

如何使用保存在外部SD上的OSM離線地圖?

[英]How to use OSM offline maps saved on external SD?

我目前正在嘗試開發一個使用osm離線地圖的Android應用程序。 我想提供大量的離線地圖。 這就是為什么我決定使用我的Galaxy S2的外部SD卡作為磁貼源的文件夾。

不幸的是,我無法在eclipse的ddms-file-explorer中找到外部SD卡。 我只發現了內部的SD。

我使用Windows資源管理器將osmdroid.zip復制到外部sd,但我的應用程序找不到它。 我還寫了我自己的osmdroid顛覆作為庫來選擇一個特定的路徑,但沒有結果。 可能,我沒有嘗試適當的路徑。

我希望,那里有人可以形容我,如何使用外部sd作為瓷磚的存儲。

osmdroid默認使用外部sdcard來加載離線地圖,因為它們是從OpenStreetMapTileProviderConstants中定義的osmdroid目錄加載的:

/** Base path for osmdroid files. Zip files are in this folder. */
public static final File OSMDROID_PATH = new File(Environment.getExternalStorageDirectory(),
        "osmdroid");

要加載地圖,您可以使用MapTileFileArchiveProvider或直接使用MapTileFileArchiveProvider本身的MapTileProviderBasic。

這里有一個很好的解釋osmdroid如何使用離線地圖: https ://stackoverflow.com/a/8286276/891479

在您的應用中使用MapTileProviderBasic。 這里有一些例子: http//www.androidadb.com/class/ma/MapTileProviderBasic.html

如果您的磁貼未加載,這也可能是因為您的zip中的目錄結構錯誤,請不要忘記將磁貼源名稱設置為基本目錄:

/ tilesourcename /縮放級別/ ...

在Galaxy S2中,外部SD卡通常位於/sdcard/external_sd 因此,您可以通過指定其路徑來打開該文件:

File myFile = new File(/sdcard/external_sd/osmdroid.zip);

然后你可以正常讀取文件,但在你的情況下你可能想使用ZipFile來讀取zip的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM