2009年10月12日 星期一

[Android] 離線Google Maps

前幾天買了HTC Hero,把玩了好幾天,試玩了Android Market上的一堆軟體,直到今天才想到要弄離線版的Google Maps,因為我不是使用3G吃到飽的方案,所以這功能非常的實用,只是想看個地圖而已,沒必要還開3G連線。

製作的方法很簡單,因為別人都做好了,稍微拜一下估狗大神就能找到一堆教學。

首先,先到Android Market上搜尋並下載安裝「RMaps」,大小寫沒差,不過一定要五個字母都輸入才找得到.....

再來,到Dr. TYT的網站去下載經過他修改的TrekBuddy Atlas Creator,目前已經出到1.5版,切記,一定要下載經過Dr. TYT修改的版本,要不然沒有辦法輸出成sql的格式。

解開壓縮檔後,會看到lib資料夾,這是用來將TrekBuddy Atlas Creator所抓取的地圖圖檔,從目錄結構存入SQLite資料庫會用到的library,不過Dr. TYT附的是給Windows用的,在Linux底下要自己編譯,或是從套件庫裡安裝,在ArchLinux下不用自己編譯,因為community裡面有,直接裝就好。裝好後,再把需要的檔案複製到原本的lib資料夾下。
$ sudo pacman -S javasqlite
$ cp /usr/lib/libsqlite_jni.so 工作目錄
$ cp /usr/share/java/sqlite.jar 工作目錄

  • 執行start.sh,設定好要抓取的層數(我是抓9到16層,檔案大小是609.5MB)。
  • 用滑鼠右鍵移動到想抓取的位置,再用滑鼠左鍵選取想抓取的範圍。
  • 點選「Atlas Context」中的「Add selection」按鈕。
  • 「Atlas setting」裡的「Format」要選擇「Android BigPlanet SQLite DB」
  • 最後按下「Create atlas」就會開始抓圖資了。
整個過程結束後,會在atlases資料夾下產生一個副檔名為sqlitedb的檔案,把這個檔案複製到RMaps的地圖資料庫的資料夾下,然後更改RMaps所使用的地圖資料即可。
$ cp Google_Maps_Taiwan.sqlitedb /sdcard/rmaps/maps/
1. Dr. TYT 的 Android 地圖
2. Android 離線地圖系列(三):離線地圖製作器 TrekBuddy Atlas Creator 1.2 beta 1 (android-map.blogspot.com Version 1)
3. MOSKY @ 在 Ubuntu 製作 Android 上以 SQLite 儲存的離線地圖!