[英]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.