熱門文章

2010年2月7日 星期日

PC 端離線地圖製作軟體 Mobile Atlas Creator 1.7


[離線地圖製作軟體]
專業的離線地圖製作軟體 TrekBuddy Atlas Creator (TAC) 從 2010 年起釋出全新版本,重要更新條列如下:
  • 改名為 Mobile Atlas Creator (MOBAC),以反映該程式能下載各種線上地圖,並儲存為不同格式的離線檔,讓不同的手機程式與 GPS 裝置使用的特性。
  • 下載的離線圖檔 (tiles) 不再暫存於硬碟中,而是儲存於資料庫 (BerkelyDB),節省了相當多的硬碟空間。 (註)
  • 舊版 tilestore 目錄內的圖檔 (tiles) 無法直接存入新的資料庫,故請將 Mobile Atlas Creator 解壓縮至新目錄。
  • 舊版的設定檔 (tac-profile*.xml) 可以沿用,直接複製至 Mobile Atlas Creator 目錄內即可。
註:如果您是 Windows 用戶,建議用 MOBAC 取代舊的 TAC,因為 PC 下載地圖時的暫存圖檔(PNG)可能會超級多(數十萬),TAC 直接將這些暫存圖檔放在 "tilestore\Google Maps" 目錄下,當您不小心點進那個目錄,Windows 檔案總管會被咬住,將來要刪除那個目錄時也會等超級久;相較之下,新版 MOBAC 將暫存圖檔存進了資料庫,則沒有上述問題。


圖:Mobile Atlas Creator 1.7


[Mobile Atlas Creator 使用教學]
以下為製作離線地圖資料庫 BigPlanet_maps.sqlitedb,供 Android 手機程式 Big Planet TracksRMaps 使用的詳細步驟:
  1. 安裝 Java 執行環境 (JRE 或 JDK,至少為 JRE v1.6.0_14 或更高版本)。
  2. 下載並解壓縮 Mobile_Atlas_Creator_1.7_SQLite.zip (Official Edition + SQLite Libs + Settings for "Big Planet SQLite" format)。
  3. 將對應您 OS 平台的 libsqlite_jni 複製至程式根目錄 (Mobile_Atlas_Creator.jar 所在目錄)。
  4. 在 Windows 平台請執行 Mobile Atlas Creator.exe (Linux 平台請執行 start.sh)。
  5. 執行程式後,使用滑鼠左鍵圈選下載範圍,右鍵移動地圖。
  6. 選擇地圖縮放層級 (Zoom Levels) 後,點擊 Add selection 按鈕。
  7. 確認 Map Source 為 Google Maps (預設值,也可以選其他種類地圖)。
  8. 確認 Atlas settings 的 Format 為 BigPlanet SQLite (預設值)。
  9. 點擊 Create atlas 按鈕,開始下載地圖。
  10. 下載完成點擊 Open Atlas Folder 按鈕,將看到 BigPlanet_maps.sqlitedb 地圖資料庫。
  11. 將 BigPlanet_maps.sqlitedb 複製至 Android 手機的 SD 卡目錄 "/sdcard/RMaps/maps/Big Planet Tracks.sqlitedb" (可以用其它檔名,只要副檔名正確即可)。
  12. 打開手機 GPS 功能,執行 Big Planet Tracks 或 RMaps 後,地圖將移動至您所在位置 (假如您已成功從網路或 GPS 衛星接收到經緯度座標)。

[問題集錦] 8/21 update
  • RMaps 需要手動至設定裡"啟用"新增的離線地圖資料庫,方能選擇該離線地圖。
    • More => Settings => User defined maps => [choose a map] => Enabled map
  • RMaps 開啟後持續看到 loading 底圖時。
    • 首次使用新的離線地圖,會花一段時間建立索引,時間長短取決於資料庫大小。
    • 若很久之後還是持續看到 loading 表示該"縮放層級"的"區域"沒有離線圖資,並非真的在讀取。
      • 很多新手這裡卡關,特別舉例說明。
      • Q:我人在台灣,做的是義大利的離線地圖,手機 RMaps 一直出現 loading 的小圈圈,一個小時過去了還是沒顥示,但之前用台灣離線地圖測試時是可以的??
      • A:RMaps 顯示離線地圖是根據經緯度座標來定位地圖的。
        假設您人在台北測試,GPS 抓到的經緯度是台北,所以 RMaps 可以顯示台灣離線地圖;同理,人在台北不會抓到義大利經緯度,自然無法顯示義大利離線地圖。
      • 解決方法:
        1. 增加 Zoom Levels (縮放層級) 0-7 的世界地圖至義大利離線地圖資料庫裡,在台灣測試時就可以先縮小至 level 1 的世界地圖,將地圖手動移至歐洲義大利,再放大至您抓取的義大利地圖,檢查地圖是否正確。
        2. 假設義大利離線地圖資料庫檔名為 Google.Maps.Italy.sqlitedb,請改名為 BigPlanet_maps.sqlitedb 並移回 \atlases\ 目錄裡,再次圈選 0-7 的世界地圖並執行 Create atlas,世界地圖就會合併至 BigPlanet_maps.sqlitedb,需要的話再改名回 Google.Maps.Italy.sqlitedb,這份資料庫就包含義大利與世界地圖了。
        3. 一般來說,不管您下載哪個區域的地圖,建議您同時下載 0-7 的世界地圖,這個範圍圖資小於 50 MB,佔不了太多空間,卻可以避免很多奇怪問題,特別是您使用 Big Plant Tracks 的話,請照辦。
  • Mobile Atlas Creator 點擊 Create atlas 按鈕,發生 SQLite not available 的錯誤訊息時:
  • Mobile Atlas Creator 發生記憶體不足 (Out of memory) 時:
    • Linux 平台,請修改檔案 start.sh,加大 Java VM 的最大可用記憶體如 -Xmx1536M 或更大,然後執行 start.sh
    • Windows 平台,請新增檔案 start.cmd,加入以下內容至同一行後執行 start.cmd
      start javaw -Xms64M -Xmx1536M -jar Mobile_Atlas_Creator.jar
    • 如果加大記憶體依舊無效,請選擇較小地圖範圍或較少縮放層級,然後分次下載。
  • Mobile Atlas Creator 下載發生 "Error - tiles are missing - do you want to continue anyway?" 時:
    • 請選擇 yes,然後勾選 Ignore download errors and continue automatically 即可。

[Mobile Atlas Creator 運作原理] 8/21 add
  1. 每次執行 Create atlas 時,下載的地圖都會放一份至 "\tilestore\db-Google Maps\" 目錄下的 BerkelyDB 資料庫中。(此例為下載Google地圖)
  2. 之後分階段將圖檔從 BerkelyDB 儲存到路徑為 "\atlases\BigPlanet_maps.sqlitedb" 的 SQLite 資料庫中。(因為 Android 手機預設只認得 SQLite 資料庫格式)
  3. 下一次重新執行 MOBAC 程式,圈選好地圖範圍並執行 Create atlas 時,MOBAC 會先檢查 BerkelyDB 內是否已有同樣地圖區塊: (例如第一次圈選台北,第二次圈選台灣,則部份範圍重複)
    3.1 若地圖區塊沒有重複的話,就直接下載該地圖區塊 (*.png)。
    3.2 若地圖區塊重複的話,再檢查日期,若網站的較新,則下載地圖區塊並存入 BerkelyDB,日期一樣則不會下載地圖。(即不會浪費網路流量的意思)
  4. 同第2步驟,分階段將圖檔從 BerkelyDB 儲存到 SQLite 資料庫。
  5. (之後第3、4步驟一直重複)

[延伸閱讀]

182 則留言:

  1. google HYBIRD(混合) 做不到 sqlitedb,,
    請問有沒有方法做一到google HYBIRD sqlitedb?
    謝謝

    回覆刪除
  2. 請問一下我做完SQL資料後把那個檔拖到sd cards/rmaps/maps中 我的big planet讀得到也顯示正常但當我用RMAPS的時候每一個地圖格都顯示loading 請問有解決方法嘛^_^謝謝

    回覆刪除
  3. Hi, Andy:

    MOBAC 不支援 google HYBIRD sqlitedb,我也幫不上忙。
    您需要至 MOBAC 的開發網頁去請求新功能。

    回覆刪除
  4. Hi, 大鵰人:

    持續看到 loading 表示該"縮放層級"的"區域"沒有離線圖資。
    請確認您可以接收 GPS 座標,然後點擊 RMaps 的 My location

    回覆刪除
  5. Hi, johnny:

    If using Linux, please edit 'start.sh' and modify -Xmx512M to -Xmx1024M or more.

    If using Windows, please create a file named 'start.cmd' and add the following command into it (in one line).
    ==============
    start javaw -jar Mobile_Atlas_Creator.jar -Xms64M -Xmx1024M
    ==============

    And you can search my blog for more infos.

    回覆刪除
  6. Why I waited for so long it still didn't load(it's nexus one) I set to don't use internet and I insert a map I also set source to my map the source of map I set to google map

    回覆刪除
  7. Hi, johnny

    Please make sure that you turn on both Locations (wireless networks and GPS satellites) from the settings of the cellphone.

    BTW, would you please tell me which app you use?
    BigPlanetTW or RMaps?

    回覆刪除
  8. Big Planet TW, and I turned on both wireless connection and GPS Satellites

    回覆刪除
  9. may be I can explain it as a 灰屏問題, after I have loaded for more that 20mins it's still 灰屏 got nothing to see

    回覆刪除
  10. Please press My Location to solve the problem of grey screen.
    It almost works.

    If not, reinstall the Big Planet TW may be a solution.

    回覆刪除
  11. 你好~~
    我現在使用的是HTC magic
    逛到你這邊
    覺得非常實用喔~
    那~~
    我用Big Planet TW
    前面步驟都完成了~
    最後一個步驟(12)一定要完成他...才能開始離線瀏覽嗎~???

    回覆刪除
  12. hi, upuptoo

    基本上完成前面11個步驟就可以離線瀏覽,第12步是將地圖移至您所在的經緯度座標。

    因為 Big Planet TW (BPT)初始地圖位置是台灣,若是您不在台灣,也沒抓台灣地圖,啟動BPT程式後會只看到灰畫面沒任何地圖。
    所以建議至少執行一次第12步,改變BPT程式的經緯度座標,好呈現出地圖。

    回覆刪除
  13. hihi, 板大, 很實用的軟體, 但是我想請問一個問題, 您製作的Big Planet TW.sqlitedb, 檔案大小只有3.xMB,但是己經涵蓋了台灣全部, 也可以到level 19, 但我做的.sqlitedb, 動軋300~400MB, 是不是有什麼方法讓.sqlitedb檔案瘦身? 謝謝

    回覆刪除
  14. Hi, James

    如果您是下載本站的 Mobile_Atlas_Creator_1.7_SQLite.zip,並使用 "mobac-profile-Google Maps Taiwan - World.xml" 去產生 BigPlanet_maps.sqlitedb 資料庫,則製作出來的檔案大小為 1.03 GB 喔!

    回覆刪除
  15. 我打開Big Planet TW 怎麼都是格子><!
    是讀不到 還是 設定錯誤?

    回覆刪除
  16. Hi, 哲毅

    請詳述問題,您問得太籠統了。
    抓取的地圖(範圍及縮放層級)是否涵蓋您住的地方?
    是否有接收到 GPS 訊號?

    看不到地圖,十之八九是以上步驟沒做或不正確。

    回覆刪除
  17. 我是用hero的,用Big planet tw, 為何一睇level 19 就全畫面黑了,然後就跳出了,是否我的圖太大了呢( 3.9G )? 謝謝你的幫忙。

    回覆刪除
  18. Hi, kifung,

    我沒用過如此大的地圖資料庫。
    不能確定是不是這個原因。

    若要找出原因,要麻煩您提供執行程式時的錯誤訊息(包含程式第幾行出錯等訊息)的記錄檔(Log)

    您可以在電腦裡安裝Android SDK,裡面有 Logcat,可以取得 Log
    http://hatsukiakio.blogspot.com/2009/05/loglogcat.html

    若要簡單一點,您可以安裝一套 android-log-collector.apk
    http://code.google.com/p/android-log-collector/
    將該程式安裝至手機裡,即能夠取得 Log

    回覆刪除
  19. to tytung
    請問,我用的是三星的i7500
    想說先試用小一點的地圖試看看,大概只有5,
    但為什麼到手機後,打開rmap,卻一直停留在loading?
    (GPS 功能已開)

    回覆刪除
  20. Hi, zongwei,

    持續看到 loading 表示該"縮放層級"的"區域"沒有離線圖資。

    若您人在台北101,GPS也幫您定位至台北101(請用RMaps裡的GPS Status程式確認是否有衛星訊號,是否定位成功),最後還必須確認您有下載台北101附近的地圖,並請注意 RMaps 顯示的縮放層級是否符合您下載的範圍。

    回覆刪除
  21. Hi,tytung
    感謝!問題已解決,是縮放的層級不符合下載的範圍.
    thanks^^~

    回覆刪除
  22. 這真得是一個好用的軟體!!!
    感謝您分享與解說!!

    另外我也遇到一些問題...
    我在製作地圖時,都只有50kb/s耶?
    這樣正常嗎?我該如何變快?

    還有
    請問如何把圖片檔案變小啊?
    我僅僅只有北部的圖層~就將近2g
    我看樓上有人也有這樣的問題><
    麻煩您指導...謝謝~^^

    回覆刪除
  23. Hi, YiCheng,

    下載地圖的速度與您使用的網路有關,我不清楚您的網路環境,無從判斷是否正常。
    下載慢的可能原因之ㄧ是被上傳檔案(如使用BT、eMute等P2P軟體)佔用的頻寬所拖累,若您有使用任何P2P軟體,請暫時關閉。

    圖片檔無法變小,Zoom Level 19 的地圖檔相當大,請視需要斟酌下載。
    例如全台灣只抓 0~15,北部抓到17,台北市抓到19,簡言之,請依據您活動範圍決定抓取範圍。

    回覆刪除
  24. 你好,大大,

    我跟足你的指示安裝,但由於家中網絡不隠定(應該是這個原因)把地圖download下來時,曾有數個error,又曾彈出視窗,問我retry,skip,cancal等(共四個選擇,不記得問什麼了)如是者,總算download了地圖下來,依指示放進機裏(用的是acer liquid,android 1.6)但地圖的追蹤系統有極大偏差,我明明是在香港的粉嶺,但地圖竟顯示我在香港的葵涌...兩地我想相差也有數十公里...
    不知我download時的error與這偏有沒有關系呢?
    我又可以怎解決?

    回覆刪除
  25. Hi, yu cheung,

    這是GPS定位偏差,跟下載離線地圖時的error無關;據我的測試經驗,好像下載某些區域就是會有error,重複幾次都一樣,所以error可能跟網路不穩定關係不大。

    大陸地區由於政府干預,圖資被偏移過,所以一定會有GPS定位誤差。
    香港倒是沒聽說過會這樣。

    請先用 "GPS Status 2" 這個軟體(Android Market有),檢查看看是否有接收到衛星(Satellites)訊號,並檢查經緯度座標的正確率(Accuracy)是否夠高。

    回覆刪除
  26. 我已經在不同地方測試過(全都有用gps status,不過我那個不是2)測的地方都有至少3個的衛星(gps最少衛星使用量是3個)發現無論我到屯門,沙田,大埔還是粉嶺,rmap也把我定位在葵涌(全都有一定距離)
    但我不明白什麼是"經緯度座標的正確率(Accuracy)是否夠高"如何檢查的?

    回覆刪除
  27. Hi, yu cheung,

    抱歉,說得太模糊了。
    Accuracy欄位值越小越好,表示GPS定位越精準。

    就好像手機裡的Google Map軟體,定位時會有一個淺藍色圓圈,表示人所在位置大概不會超出那個圓圈,換句話說,圓圈越小就是定位誤差越小。

    回覆刪除
  28. 請問大大,可以製作googlemap不同layer的離線地圖么
    比如自己做的My maps,或者國外有些城市交通圖,比如Paris的捷運不在map本身的layer上,要選擇traffic layer才能出來

    如果能加入選擇抓下不同layer的googlemap,可以方便旅遊規劃

    謝謝

    回覆刪除
  29. 您好TYT大大 先謝謝您提供了這麼好的資訊造福我們
    我想請教的是
    我在下載的時候 方式似乎是不斷把地圖無限變大對嗎
    例如說 我下載了數次台灣不同級數的地圖
    她會自動合併成BigPlanet_maps.sqlitedb這個檔名的檔案
    這樣是正常的嗎 謝謝

    回覆刪除
  30. Hi, 立群,

    分次下載會自動合併至 BigPlanet_maps.sqlitedb
    這是特意設計的,方便使用者隨時可以增加地圖至資料庫。

    若您需要分成不同資料庫,例如台灣及香港兩個資料庫,只要把 BigPlanet_maps.sqlitedb 移走或改名即可,Mobile Atlas Creator 將自動產生一個新資料庫檔。

    回覆刪除
  31. Hi, toogle,

    製作離線地圖,只能選擇 Mobile Atlas Creator 支援的地圖類型喔! 沒有 My Map 或您說的traffic layer

    目前的離線地圖功能,還沒辦法包含線上地圖所有功能。
    將來應該也不容易做到,除非 Google 願意做,以上是我的淺見,僅供參考。

    回覆刪除
  32. 了解 相當感謝您花寶貴的時間解答
    所以把BigPlanet_maps.sqlitedb改成任何名子都可以囉 我來試試看

    另外 我下載台灣19級的地圖 範圍只有台北市
    怪哉了 竟然每秒只能下載1.55kibyte
    總共下完要一萬多分鐘 請問這是正常的嗎
    因為我下載其他級數就蠻快的 謝謝

    回覆刪除
  33. Hi, 立群,

    根據我的經驗,下載第19級地圖的"每秒速度",並不會比其他級數地圖慢。

    Mobile Atlas Creator 固定輸出至 BigPlanet_maps.sqlitedb 這個檔案,若存在此檔就是持續增加新地圖至資料庫內;不存在則產生新資料庫檔。

    即使是先前已重新命名為 Taiwan.sqlitedb 並開始使用的資料庫,若之後想增加某縣市地圖,只要改名回 BigPlanet_maps.sqlitedb,並移至 Mobile_Atlas_Creator_1.7_SQLite\atlases 目錄下即可。

    回覆刪除
  34. 感謝您的回答
    那我整個砍掉試試看好了 哈哈

    回覆刪除
  35. 你好。
    感謝你分享這麼實用的軟體。
    因為要去關島玩所以我下載了關島的地圖
    但將檔案移至 X10 中卻都是灰屏
    是因為我目前在台灣的關係嗎?
    還是...
    地圖檔案大小為 144MB
    麻煩幫我解答,謝謝。

    回覆刪除
  36. Hi, 文斌,

    您說對了,正是因為您在台灣的關係,GPS定位在台灣,而您若沒抓台灣的離線地圖,則只會顯示灰底。

    建議您多下載 0~6 級的世界地圖(總檔案容量只有15.5MB)至關島資料庫內,將地圖縮小至第6級,移動地圖至關島所在地,再放大地圖,確認關島地圖是否完整。

    回覆刪除
  37. 作者已經移除這則留言。

    回覆刪除
  38. Hi, chadchkimo,

    所有步驟如上文所述。
    也許試試看"移動地圖"後,執行 My Location(我的位置) 功能,讓程式將地圖移至您 GPS 位置。

    前面幾篇意見,使用者也問了類似問題,也請您參考上面的解答看看囉!

    回覆刪除
  39. 大大, 你好.

    我已先順利制作了0-19的香港地圖檔, 但當想把0-6的世界地圖加進去時, 下載世界地圖時總是出現: Error - tiles are missing - do you want to continue anyway? 不管選 yes or no, 最終都是會終止制作.

    請問知道我是在哪裡弄錯嗎?

    回覆刪除
  40. Hi, Karsten,

    請選擇 yes,然後勾選 Ignore download errors and continue automatically 即可。

    回覆刪除
  41. 可以增加這個map source 嗎?http://maps.visitseoul.net/

    回覆刪除
  42. Hi, Eddy

    由於 http://maps.visitseoul.net/ 的地圖連結並非標準的 "x,y,z 格式",所以加入此支援比較麻煩。
    未來 Mobile Atlas Creator (MOBAC) 能否增加此新地圖,要請您向 MOBAC 的官方開發網站請求加入新地圖支援喔!

    P.S.: 什麼是 x,y,z 格式請看此網頁的 Custom map sources 說明。

    P.S.: visitseoul 地圖連結:
    http://218.145.29.8:8000/mapimage/china_bMap/12/0/0/0_0.png
    http://218.145.29.8:8000/mapimage/china_bMap/12/10/10/262144_262144.png
    http://218.145.29.8:8000/mapimage/china_bMap/12/0/10/0_262144.png
    http://218.145.29.8:8000/mapimage/china_bMap/12/10/0/262144_0.png
    http://218.145.29.8:8000/mapimage/china_bMap/12/10/-10/262144_-262144.png
    http://218.145.29.8:8000/mapimage/china_bMap/12/0/-10/0_-262144.png
    http://218.145.29.8:8000/mapimage/engMap/1/11/8/307072_204928.png
    ... 等

    回覆刪除
  43. 作者已經移除這則留言。

    回覆刪除
  44. 感謝詳盡的教學文和分享

    回覆刪除
  45. 你好,博主。我想知道利用这个工具生成的地图有哪一个是符合Z/Y/X 这种文件目录格式的,因为我安装了xda论坛brut大大的gmaps,他提到的地图缓存需要这种格式的内容,请告知,谢谢

    回覆刪除
  46. Hi, 巴哥哥

    用目錄來儲存一大堆圖檔是相當沒有效率的。 (原因)
    xda 的 Brut.all 也已經在考慮使用 SQLite 資料庫來存地圖。
    建議您等他實作出這個功能再說吧!
    http://forum.xda-developers.com/search.php?searchid=38071489

    回覆刪除
  47. 請問博主,地圖檔案是會自動合併的嗎?
    因為我剛先做了台灣的一小區做實驗,下載速度還蠻快的,之後又下載了韓國地圖,因為即將要前往韓國去,但進入\Mobile Atlas Creator 1.7\atlases 後,只看到一個地圖檔案叫做:BigPlanet_maps.sqlitedb
    我原本以為台灣和韓國的地圖會分開,想不到沒有,請問他是自動合併兩張地圖了嗎?

    回覆刪除
  48. Hi aries86330,

    是的,分次下載的地圖,會合併至同一個檔案 BigPlanet_maps.sqlitedb

    您如果需要將不同國家的地圖,儲存在不同檔案,請下載完台灣地圖後,將 BigPlanet_maps.sqlitedb 改名(例如 Taiwan.sqlitedb)。
    之後下載的韓國地圖會儲存至新產生的檔案 BigPlanet_maps.sqlitedb

    甚至之後需要增加某些尚未下載的區域(例如花蓮)至台灣地圖資料庫,只要把 Taiwan.sqlitedb 改名回 BigPlanet_maps.sqlitedb,並放回原來的地方即可,下載花蓮地圖時,會合併至原來的台灣地圖資料庫。

    回覆刪除
  49. 親愛的板主~
    目前我的手機適samsung s5628~
    正因為沒有離線地圖可用而煩惱
    看到你這篇文章大大獲益^^
    可是不知道我的手機能不能用~"~!!!(因為它好像不是智慧型手的說)

    回覆刪除
  50. 謝謝您分享這麼棒的資訊
    小弟這兩天在製作台灣的離線地圖時
    前18層級都下載順利
    19層級僅下載台北縣的三分之一面積而已
    圖都下載完了
    但在Maps creation卻屢屢卡在三分之一左右
    進度均在42%的地方就停住不動,程式當住
    Time remaining也都停住不動

    不知道是哪裡出了問題

    回覆刪除
  51. 為什麼他一直出現SQL..not available的訊息 我已經按照上面只是更替檔案了 真奇怪

    回覆刪除
  52. 作者已經移除這則留言。

    回覆刪除
  53. To egmilk123,

    samsung s5628 並不是 Android 手機,不過他有支援 Java ,您可以去找 Java 版本的離線地圖。

    回覆刪除
  54. To fatalism,

    提供一些經驗供您參考。
    當您製作的離線地圖很大,例如 1 GB 以上,Maps creation 有可能很慢,這時候請不要用滑鼠去控制 Mobile Atlas Creator 程式,否則很容易出現程式沒有回應的訊息。

    這時候您要做的就是泡杯咖啡、看本書或睡個覺 XD
    給 Mobile Atlas Creator 一點時間,她會慢慢完成任務的。
    不放心的話,請打開工作管理員(假設您在Windows下),看看 javaw.exe 的 CPU 與記憶體是否有持續變動,有的話就是正常囉!

    回覆刪除
  55. To Feinan,

    如果您是使用 64-bit 的 Windows
    請先確定您安裝的是 32-bit JDK 或是 64-bit JDK
    替換 libsqlite_jni 時請依據 JDK 版本。

    回覆刪除
  56. 您好:
    最近剛好要去東京自由行, 爬文以後找到您的網站
    現正努力學習製作離線地圖中, 有問題再向您請教 感恩囉!

    回覆刪除
  57. Hi eric,

    預祝您旅途愉快。
    如果您已經事先在PC上的Google My Maps,建立好景點(POI)資訊,您可以進一步地將這些資訊存進 RMaps 中使用,教學可以看上一篇文章:
    將 Google My Maps 匯入 RMaps 的使用教學

    回覆刪除
  58. Hi chen,

    我只用過 HTC Magic 搭配 2GB 大小的 BigPlanet_maps.sqlitedb,跑起來沒問題。

    建議您先分幾個檔案、分區下載(例如台灣、日本),下載過的所有地圖會另外暫存一份在電腦裡 (Mobile_Atlas_Creator_1.7_SQLite\tilestore\db-Google Maps) (如果您想要一次下載大範圍地圖,一定要加大 Java 可用記憶體);
    最後您再選擇下載全部區域,已經暫存在db-Google Maps目錄裡的地圖,不會再次從網路下載,而是直接從db-Google Maps目錄取出地圖並存入BigPlanet_maps.sqlitedb。

    簡言之,建議您先分區下載地圖,之後再合併全部區域成單一地圖資料庫。 要是手機跑不動 3GB 地圖資料庫,還有分區地圖可用。 當然,反過來先做 3GB 全區,不行再做分區資料庫也行,反正地圖都已經暫存在電腦裡了,不需重覆下載。

    回覆刪除
  59. 我錯誤地 del 了 tilestore內的db-Google Maps
    害我現在連google map 也上不了
    究竟是什麼一回事呢

    回覆刪除
  60. Hi Lemon,

    db-Google Maps 是暫存圖檔用的資料庫目錄,是可以刪除的。
    真的不行的話,就是重新解壓縮 Mobile_Atlas_Creator_1.7_SQLite.zip 至另外一個目錄囉!

    回覆刪除
  61. 我想我是被google block ip
    因為我用desktop and notebook 都上不到google map
    可能是因為我下載過多了...把大半個日本都去至19..
    不知何時才解block...

    回覆刪除
  62. 大半個日本都至19,那真的是下滿大的。
    之前聽說Google衛星圖下載太多會暫時被 block IP
    下載一般Google Maps我倒是沒聽說過,但是您應該算特例吧!
    希望您能早日解block.

    回覆刪除
  63. 當按下create atlas後彈出:
    "unable to find the sqlite libraries.these are required for bigplanet output format.please read the readme.htm section "creating and using altases with big map

    怎麼辦?

    回覆刪除
  64. Hi 嘉志,

    出現上述錯誤表示您第3步驟沒有正確完成。
    3.將對應您 OS 平台的 libsqlite_jni 複製至程式根目錄 (Mobile_Atlas_Creator.jar 所在目錄)。

    請問您是哪一種 OS(作業系統)? 32位元或64位元?
    使用哪一種 JDK ? 32位元或64位元?

    若是您不太清楚上述問題,而您是使用 Windows,則最簡單的作法就是這兩個檔案 \Win x64 (64bit)\sqlite_jni.dll 以及 \Win x86 (32bit)\sqlite_jni.dll 都替換看看,其中一種應該可以成功 create atlas

    回覆刪除
  65. 感謝分享。不知是否可以提供日本地圖的 xml 檔來做為參考。謝謝。

    回覆刪除
  66. Hi Jecy,

    正好我之前抓過日本的地圖。
    以下 profile 是全日本0-13,關東、關西主要區域14-16,供您參考,根據此設定下載後的地圖共 674 MB
    http://android-map.googlecode.com/files/mobac-profile-Google%20Maps%20Japan%200-13%20Kanto-Kansa%2016.xml

    回覆刪除
  67. 請問有人可以分享台灣全區19級的檔案嗎?
    如果台灣100萬人需要使用台灣google map離線圖資,代表可能需上網捉100萬次..
    那是不是有人會被鎖ip..
    如果有人可以私下分享圖檔..
    就不會造成google map主機太大負擔呢?

    回覆刪除
  68. 十分有建設性..謝謝分享..

    回覆刪除
  69. libsqlite_jni替換成對應版本(x86 or x64),也要記得裝vcredist_2008,不然一樣會回應"unable to find the sqlite libraries"的錯誤訊息。

    回覆刪除
  70. sorry,沒說清楚,vcredist_2008也要裝對應的x86 or x64版才行。
    如我的系統是xp x64,裝了java x64,就要換成libsqlite_jni windows x64,還要裝vcredist_2008 x64.
    才不會有"unable to find the sqlite libraries"的錯誤訊息。

    回覆刪除
  71. Hi 晉,

    謝謝您提供的資訊。

    回覆刪除
  72. 因為不小心選擇區域太大了,將海域也下載下來了,我想多餘的部分從資料庫刪除,是否將資料庫刪除 讓她重產生資料庫一次,他會重複下載嗎 謝謝

    回覆刪除
  73. 還是有更好的辦法 直接重資料庫刪除不必要的block

    回覆刪除
  74. Hi 錦洲,

    下載過的地圖會暫存 (cache) 一份在 "\tilestore\db-Google Maps" (以下載Google地圖為例)

    可以刪除 "\atlases\BigPlanet_maps.sqlitedb",重新下載時,若是已存在 cache 裡的舊地圖,就不會重新從網路下載。

    回覆刪除
  75. 大大 出現下列訊息時該如何處理? 感謝

    Something is wrong with download of atlas tiles. The amount of downloaded tiles is not as high as it was calculated. Therefore tiles will be missing in the created atlas.

    回覆刪除
  76. Hi 松羅,

    我也遇過這錯誤訊息,印象中忽略它就好了,下載的地圖還是正常的,沒有缺少什麼。

    回覆刪除
  77. 不好意思,請問一下我使用的手機視HTC LEGEND
    將製做好地圖放入該放的位置,但我點選我製做的地圖後出現『updata min max zoom data of map file...』的字樣,過一段時間後,又出現『應用程式 RMaps (程序:com.robert.maps)未正常終止』。
    請問我該如何解決??

    回覆刪除
  78. Hi 啟鎮,

    當出現『updata min max zoom data of map file...』字樣時,請慢慢等待,勿觸碰螢幕。
    一旦觸碰螢幕,就會出現『應用程式 RMaps (程序:com.robert.maps)未正常終止』的錯誤。
    等待時間則取決於地圖資料庫大小與手機速度,有時候即使數十分鐘也是正常的。

    回覆刪除
  79. Hi, tytung.

    Thanks for the app. Just like my comment on the google project, on my nexus one, map label (street name, POI) is too small to read. Any suggestion to get around this? Or is it just me too old for this :-)

    回覆刪除
  80. Hi, Shane,

    You may try the older version app: Big Planet TW 1.6.8
    http://android-map.googlecode.com/files/BigPlanetTW_1.6.8_Multi-language.apk

    The street name on the map is bigger but a little blur too.

    回覆刪除
  81. Hi, tytung

    本人使用HTC Desire在香港使用,本月21日會到沖繩及台北旅遊, 但download了沖繩地圖10-19(約 635MB)及世界地圖0-7(約 38MB)到Desire內,當跳上一層level在沖繩或世界地圖就只見loading的灰屏很久也是這樣子. 也不明白怎樣合併沖繩地圖(BigPlanet_maps.sqlitedb)及世界地圖(world_maps.sqlitedb), 是否將沖繩地圖(BigPlanet_maps.sqlitedb)改名為世界地圖(world_maps.sqlitedb)並放回Mobile_Atlas_Creator_1.7_SQLite\atlases\ 目錄裡,再次圈選 0-7 的世界地圖並下載,世界地圖就會合併至(world_maps.sqlitedb) 。

    Ivan

    回覆刪除
  82. Hi, chi kwong,

    無法合併兩個 sqlitedb 檔。

    Mobile_Atlas_Creator 下載的圖檔都是存進 BigPlanet_maps.sqlitedb 這個檔名。
    若atlases目錄下無此檔,則產生新的BigPlanet_maps.sqlitedb 並將下載的圖檔存入。
    若atlases目錄下有此檔,則下載的圖檔會直接合併進來。

    因此請將沖繩地圖(BigPlanet_maps.sqlitedb)放至
    atlases\ 目錄裡,再次圈選 0-7 的世界地圖並下載,世界地圖就會存進 BigPlanet_maps.sqlitedb

    回覆刪除
  83. Hi, chi kwong, tytung

    我也遇到同樣的困惑,每次再次下載才能合並兩個資料圖檔相當費事,應該對已下載的兩個圖檔有直接合並的辦法才對啊,看軟件運作時,也是一邊下載一個,再合並進BigPlanet_maps.sqlitedb 檔內,再下載下一個,只是中間緩存的格式檔似乎不同,說明軟體本身有此功能和指令,只是不知單獨如何執行,希望軟體放出這個獨立的功能來,以減少用戶重復下載的時間,而且還能讓多部機同時分地區下載,然後再合並啊!

    king shum

    回覆刪除
  84. Hi, King Shum,

    Mobile Atlas Creator 的執行方式就是:

    1. 每次下載的地圖都會放一份至 "\tilestore\db-Google Maps\" 目錄下的 BerkelyDB 資料庫中。(此例為下載Google地圖)

    2. 之後分階段將圖檔從 BerkelyDB 儲存到檔名為 BigPlanet_maps.sqlitedb 的 SQLite 資料庫中。
    (因為 Android 手機預設只認得 SQLite 資料庫格式)

    3. 下一次重新執行 MOBAC 程式,圈選好地圖範圍並執行時,MOBAC 會先檢查 BerkelyDB 內是否已有同樣地圖區塊: (例如第一次圈選台北,第二次圈選台灣,則部份範圍重複)
    3.1 若地圖區塊沒有重複的話,就直接下載該地圖區塊 (*.png)。
    3.2 若地圖區塊重複的話,再檢查日期,若網站的較新,則下載地圖區塊並存入 BerkelyDB,日期一樣則不會下載地圖(即不會浪費網路流量的意思)

    4. 同第2步驟,分階段將圖檔從 BerkelyDB 儲存到 SQLite 資料庫。
    (之後第3、4步驟一直重複)

    換句話說,我說的"再次圈選 0-7 的世界地圖並下載,世界地圖就會存進 BigPlanet_maps.sqlitedb",其實並非真的再一次從 Google 網站下載地圖,而是從 BerkelyDB 抓出之前下載過的 0-7 世界地圖,並存進 BigPlanet_maps.sqlitedb (可以看成是合併的動作)。

    這麼詳細的解釋,希望您看得懂。

    若是想直接合併兩個 *.sqlitedb,很抱歉,MOBAC 並無此功能,請自行寫程式,利用 SQL 語法,將兩個資料庫合併。

    回覆刪除
  85. Hi,tytung
    感謝你這麽詳細的説明。但是我在使用中發覺似乎MOBAC還是在重復下載,過程如下:
    先是下了世界0-8級(175M),加中國9-13級(達到2.07G),再加香港14-19級,整個圖庫超過了3G,發現在手機上一執行即死機,之前試過2.6G的是可以執行的,此時降低級別,用世界0-8級,加中國9-11級(此時圖庫為418M),再加香港11-19級,可見此中中國9-11級和香港的14-19級此前已經下過了,只要再下香港11-13級即可,但是執行時見到程式還是在一層層地下,現在還正在下香港的第18級,還沒下完呢,並沒有出現直接從BerkelyDB中選用的情況,而事隔2天,應該也不會是網上的數據更新了這麽巧吧。

    回覆刪除
  86. 請問...
    我有切割了幾張地圖
    但是只能抓到住家這邊(永和)開GPS後看的到地圖
    其他(公館 中和等)地圖開了GPS一直show loaging 很久都看不到街道圖 請問這是正常的嗎??
    第一次用智慧型的手機 型號是aria的
    麻煩您幫我解惑 感謝您

    回覆刪除
  87. Hi, King Shum,

    MOBAC 每次都需要一層層地檢查每個圖檔,檢查時是連線至 Google Maps Server 去取得圖檔時間(只取時間,不含整個圖檔),但是到底有沒有實際下載整個圖檔,必須看 Total download size,請參考此圖

    假如第一次下載世界0-8級是175MB,第二次下載世界0-9,則此時 Total download size 欄位應該只有世界10的地圖大小,再加上每次詢問 server 每個圖檔時間的資料量。

    回覆刪除
  88. Hi, fiona,

    您的問題似乎有點像 [問題集錦] 裡,關於持續看到 loading 表示該"縮放層級"的"區域"沒有離線圖資的案例。

    請先用 RMaps => More => GPS Status 確定有接收到經緯度座標。
    然後檢查 RMaps 右上角的地圖縮放層級,是否符合您下載的地圖縮放層級範圍。
    例如您下載了地圖縮放層級 0-15 的公館地圖,則 RMaps 只能在縮放層級 1-16 下看到公館地圖。

    回覆刪除
  89. Hi,tytung
    感謝你的指教,確實後續只下了600多M,只是時間還是很長(約十幾小時),也許比較的時間要很長吧。這解決了單機的問題,但還是不能解決多機分區同時下載后的合併問題,若能解決,就可多機同時運作,倍增下載效率,今後網友們也可互相合作,分享各自成果,提高整體效率。望高手編寫程式,將兩個資料庫合併,就公德無量咯。

    回覆刪除
  90. 首先,公開散佈 Google 地圖是違反 Google 地圖服務條款的。

    免責聲明:
    本人單純提供將兩個 sqlitedb 資料庫合併的命令列程式,若任何人利用此程式合併資料庫並散佈之,一切行為和本人無關。
    同意則按此下載

    回覆刪除
  91. 補一下 BigPlanetSQLiteMerger.jar 使用方法:
    參數有三個,第三個非必要:
    sourceSQLiteDB targetSQLiteDB [BatchSize=1000]

    一般使用:
    ----------------------------------------------
    java -Djava.library.path=lib -jar BigPlanetSQLiteMerger.jar source.sqlitedb target.sqlitedb
    ----------------------------------------------
    以上指令將 source.sqlitedb 內容合併至 target.sqlitedb,預設是每 1000 筆資料合併一次。


    進階版 (每 10000 筆資料合併一次):
    ----------------------------------------------
    java -Xms64M -Xmx768M -Djava.library.path=lib -jar BigPlanetSQLiteMerger.jar source.sqlitedb target.sqlitedb 10000
    ----------------------------------------------
    一旦 BatchSize 設越大,理論上合併速度越快,但執行時需要用越多記憶體,所以必須調整此參數 -Xmx768M (JVM 最多使用多少記憶體),才不會出現 out of memory 錯誤。

    回覆刪除
  92. 感謝版主分享及教學
    不過個人使用milestone時發現字體實在太小,看起來很吃力
    經過友人用desire實際開google map比較,發現我們圖資上的資訊有差異,這是否表示電腦抓的圖資跟手機連上的圖資根本就不一樣呢?(所以才有字體太小的問題)
    Rmaps真的是超棒的離線地圖軟體,如果可以解決字體太小的問題就完美了啊...

    回覆刪除
  93. i5700測試很成功
    第一次要先連線(我是用wifi連)
    之後就可以不用連線了
    謝謝版主分享囉
    很實用

    回覆刪除
  94. Hi, 東東,

    電腦(MOBAC)抓的地圖跟我們用瀏覽器看 Google Maps 網站是一樣的地圖。
    而手機的 Google Maps 軟體,則是抓另一個版本地圖,也就是 mobile 專用的地圖。

    目前不確定 MOBAC 是否有可能抓 mobile 專用的地圖。

    回覆刪除
  95. Hi, s110182,

    使用離線地圖軟體 (RMaps 或 Big Planet Tracks) 都不需要網路連線,除了查詢功能例外。

    回覆刪除
  96. 請問選取地圖可以斜線選取嗎?
    我試了一下,好像只有長方形或正方形來選取,這樣感覺選台灣地圖有些區域是多選的但又不能刪除.

    回覆刪除
  97. Hi, 糕餅,

    無法斜線選取。
    整張大地圖實際上是由許多方形地圖區塊(256x256像素)組合的,即使能夠選擇斜線,只要那條斜線劃過去的地方,一樣需要下載整個方形地圖區塊。

    回覆刪除
  98. 你好:

    我目前是抓取全台0-16,整各檔案才快400MB,
    照你說的步驟跑一次後,在手機上執行好像看不到圖說?
    反而要先手機上網下載圖才看得到?不是離線執行程式就可以看到
    我先前抓的0-16的地圖了嗎?還是我哪邊出錯了?

    回覆刪除
  99. Hi, n,

    請至少說明你是使用 Big Planet Tracks 或是 RMaps 吧?
    看不到地圖,那麼是看到哪種底圖?
    根據你目前給的訊息,我只能說,離線看不到地圖,基本上是你的步驟有誤。
    但是你給的資訊太少,我無法知道你哪一步有問題。

    回覆刪除
  100. 哈囉,已經可以用了~我選錯地圖檔了
    以為是要選Big Planet Tracks.sqlitedb
    換選BigPlanet_maps.sqlitedb就可以了!!!
    謝啦!!!

    回覆刪除
  101. 首先真是感謝大大的分享 到處都是轉載您的文章呢

    請問如果我先做好了0-15的全台灣
    可以使用它為基底 自己單獨做不同的城市嗎?

    例如0-15全台+16-17台北市 獨立一個檔(台北市.sqlitedb)
    0-15全台+16-17台中市也獨立一個檔 (台中市.sqlitedb)

    因為這樣分開讀取手機好像會運作得比較快 所以我想分開城市做細部地圖

    可是他會自己新增到sqlite檔案中 所以有什麼辦法可以重複使用我的0-15全台灣.sqlitedb 呢? (0-15也不好下載的呢.....)

    之前好像有大大提到合併的方法?請問可以幫幫我嗎 感謝

    回覆刪除
  102. 這套真是太棒了,感謝各位作者,本來是用JAVA的離線,改了手機,想說啊!沒有地圖了,沒想到竟然找到這套,一句話,棒!

    回覆刪除
  103. 你好, 我叫小招, 我用1.8beta 做了一個12-17台灣地圖, 檔案名是BigPlanet_maps.sqlitedb, 然後再次圈選0-7的世界地圖並執行Create atlas, 但不會合併至同一個檔案BigPlanet_maps.sqlitedb, 反而會產生新檔案Custom Unnamed atlas.sqlitedb, 什麼辦?

    回覆刪除
  104. 如何刪除 TAC 裡的 tiles FILE?? 我裡面的GOOGLE FILE 刪了一小時都沒完成1%

    回覆刪除
  105. Hi, joel,

    只能慢慢等。
    這也是為什麼我建議原有 TAC 使用者,要升級成 MOBAC

    回覆刪除
  106. 如果 我使用 Marbella 衛星導航 請問如何 自製 圖資呢 ?? 請指教 自製 越南胡志明市 圖資 !!

    回覆刪除
  107. Sorry. 我只熟悉 Android,其他類型就看 Atlas settings 的 Format 裡有沒有,有就代表能用,沒有就沒辦法了。

    回覆刪除
  108. 我第12步無法執行!!該要怎麼做?
    commtiva T1 找不到執行的畫面

    回覆刪除
  109. Hi, 國彰,
    請安裝 Android 手機程式 Big Planet Tracks 或 RMaps
    並執行上述任一程式。

    若是 Big Planet Tracks,請下載 apk 檔後,複製至SD卡後安裝,請自行 google 如何安裝 apk 檔的細節。

    回覆刪除
  110. 請問一下 我之前用1.7版都可以正常使用 現在改成1.8正式版 為何要建立 Big Planet Tracks SQLite 地圖時,會出現這樣的提示(Unable to find the SQLite libraries.These are required for the currently selected atlas format.Please read README.HTM section"SQLite atlas formats" 有解決辦法嗎?

    回覆刪除
  111. MOBAC 的作者更改了 1.8 版 SQLite 的函式庫,請下載
    http://files.zentus.com/sqlitejdbc/sqlitejdbc-v056.jar
    放到 MOBAC 的目錄內。

    回覆刪除
  112. hello!版大,我的是win7 64,卡關很久,最後用Win x86 (32bit)資料夾裡的sqlite_jni.dll替換才成功,不知是不是放錯資料夾,給跟我一樣卡在"SQLite not available 的錯誤訊息"這個地方的朋友

    回覆刪除
  113. Hi ken,

    問題集錦裡有提到:
    請依據您安裝的是 32-bit JDK 或 64-bit JDK,來替換相對應的 libsqlite_jni 版本。

    由於 64-bit 作業系統可以裝 32-bit JDK 或 64-bit JDK,你的例子應該是 Win7 64bit 裝了 32-bit JDK,所以你需要的是 Win x86 (32bit)資料夾裡的 sqlite_jni.dll

    回覆刪除
  114. 你好
    剛剛才學會把離線地圖放到手機中,但是有兩個問題想請教你
    1.如果類似樓上義大利的問題,我先做了區域性的地圖18級後有辦法跟全球地圖(0-7級)兩個地圖合成嗎?或者要重做?

    2.關於GoogleMAP的POI匯出的問題,先創立"我的地圖"後點"Google 地球中檢視"直接就跑出一個檔案下載的框框要我下載KML檔案,但是此KML匯入到SD\rmaps\import後用RMAPS檢視POI卻是空空的...這樣正常嗎?

    回覆刪除
  115. Hi, Lee,

    1.如果你已經有兩個單獨的sqlitedb
    可以考慮用 BigPlanet SQLite Database Merger 0.1 直接合併。

    2.請完全依照我說的步驟執行,務必將複製的超連結貼至網址列,並將字串 output=nl 改成 output=kml
    KML 檔可以用任何文字編輯器開啟,匯入前可以先打開檢查內容。

    回覆刪除
  116. 你好, 我使用你分享的日本地圖的 xml 為主,製作了關西地區的地圖,另外新增了關西17-18,但在手機內觀看時,只能看到level 17,再放大一層時,程式就自動關閉了,也沒有任何訊息,請問您知道原因嗎? 謝謝

    回覆刪除
  117. Hi mammer,

    沒遇過這種情形,如果你能提供除錯用的錯誤訊息,我也許能知道原因。
    安裝 aLogcat 可取得程式執行時的錯誤訊息。

    回覆刪除
  118. 我從error處開始copy, 如下,麻煩你了
    I/Database( 6785): sqlite returned: error code = 266, msg = prepared statement aborts at 14: [SELECT * FROM tiles WHERE x=? AND y=? AND z=? AND s=?]
    I/Database( 6785): sqlite returned: error code = 266, msg = prepared statement aborts at 14: [SELECT * FROM tiles WHERE x=? AND y=? AND z=? AND s=?]
    I/Database( 6785): sqlite returned: error code = 266, msg = prepared statement aborts at 14: [SELECT * FROM tiles WHERE x=? AND y=? AND z=? AND s=?]
    W/dalvikvm( 6785): threadid=9: thread exiting with uncaught exception (group=0x400259f8)
    W/dalvikvm( 6785): threadid=12: thread exiting with uncaught exception (group=0x400259f8)
    I/Process ( 6785): Sending signal. PID: 6785 SIG: 9
    W/GpsLocationProvider( 96): Unneeded remove listener for android.uid.system:1000
    E/ActivityManager( 96): fail to set top app changed!
    D/alogcat ( 6726): stopping ...
    D/alogcat ( 6726): canceling periodic saves
    V/alogcat ( 6726): started
    V/alogcat ( 6726): resumed
    D/alogcat ( 6726): starting ...
    W/KeyCharacterMap( 6726): Bad keycharmap - filesize=32
    W/KeyCharacterMap( 6726): Error loading keycharmap file '/system/usr/keychars/bravo-keypad.kcm.bin'. hw.keyboards.0.devname='bravo-keypad'
    W/KeyCharacterMap( 6726): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
    I/global ( 96): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
    I/global ( 96): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
    D/BatteryService( 96): isUsbConnected() = false
    D/BatteryService( 96): mPlugType = 0
    E/Tethering( 96): attempting to remove unknown iface (usb0), ignoring
    D/UsbConnectedReceiver( 296): action = psclient.intent.action.usb_status
    D/UsbConnectedReceiver( 296): ACTION_BATTERY_CHANGED
    D/UsbConnectedReceiver( 296): usbCurrentType = 0
    D/UsbConnectedReceiver( 296): Current type is same as previous, return!

    回覆刪除
  119. TYT大你好:
    我下載該程式並按步操作
    但到了第五步就卡關了
    先出現漏斗讀取地圖的畫面
    接著就是紅色叉叉了
    連圈選的階段都還達不到
    煩請解答一下

    回覆刪除
  120. Hi, mammer,

    請提供執行程式的完整訊息,以上訊息只能看出查詢離線資料庫時出了問題,甚至看不出你是用 RMaps 還是 Big Planet Tracks

    訊息可以貼到以下網頁
    http://pastebin.com/

    回覆刪除
  121. Hi falcon,

    有紅色叉叉表示你的電腦無法下載地圖。 (可能網路有問題?)
    如果你是選擇下載 Google Maps,請先確定瀏覽器可以正常連上Google Maps 網頁並看到地圖。

    回覆刪除
  122. TYT大你好:
    不好意思,我不用PROXY就可以了
    我再來進行後續階段
    謝謝

    回覆刪除
  123. 你好,我是使用Big Planet Tracks (試過RMAPS,loading太久了>.<), 檔案有3.5GB左右, 完整訊息已貼到
    http://pastebin.com/2qbSErGu

    回覆刪除
  124. Hi mammer,

    謝謝你提供詳細log
    可以確定程式邏輯沒有錯,可能是手機的性能無法處理這麼大的單一檔案。
    之前也有人反映資料庫太大會導致程式當掉。
    我自己使用的資料庫最大只有2GB左右,使用時正常。

    暫時不知道如何解決此問題,Sorry~
    只能請你使用小一點的資料庫,依地區或是縮放層級分成兩個資料庫。
    幸好 MOBAC 有暫存地圖在硬碟裏,重新產生離線資料庫不需要再次上網抓地圖。

    回覆刪除
  125. TYT大大,謝謝你的協助
    另外,請問Big Planet Tracks裡有個功能是"儲存地圖供離線使用", 是指可以線上下載原本離線地圖中沒有包括的區域嗎? 那如果原先沒有預先製作的層級,是否就不能用此法下載呢?

    回覆刪除
  126. Hi, mammer,

    "儲存地圖供離線使用"是直接從手機下載地圖,但每次執行下載時,只會包含當前縮放層級的地圖,無法指定多個層級;
    而且是用單一連線抓地圖,不像 MOBAC 預設使用 4 條連線,所以速度較慢,只適合出門在外,臨時想補充之前未抓取離線地圖的區域。其他時候並不建議使用。

    PS:該功能跟有沒有預先製作離線地圖無關。

    回覆刪除
  127. 你好,我載入0-17級的日本地圖, 檔案大小約2GB,Big plant讀取正常, 當縮放到18級時因沒有該層級資料,所以程式是直接將17級放大(有一點點模糊),我在此時使用"儲存地圖供離線使用",將半徑2公里內的地圖抓下來,理論上來說,應該是會抓level 18,沒錯吧? 但抓完之後,地圖看起來還是用level 17放大的資料, 而不是level 18耶??

    回覆刪除
  128. Hi, mammer,

    "儲存地圖供離線使用"的功能不是我寫的,也許有 bug
    可以重開程式看會不會載入新的。

    之前就覺得會用到這個功能的人應該不多,還曾經打算拿掉這個功能,也許下一版會拿掉,因為將 Google Maps 暫存是違反地圖使用條款的。
    至於用 MOBAC 抓離線地圖,那就跟 Big Planet Tracks 沒有直接關係了。

    回覆刪除
  129. 版大您好, 我按照上面的步驟做,都一切正常,只是在
    10.下載完成點擊 Open Atlas Folder 按鈕,將看到 BigPlanet_maps.sqlitedb 地圖資料庫。
    之後,我出現的資料夾沒有.sqlitedb檔耶
    \Mobile_Atlas_Creator_1.7_SQLite\atlases/World_2010-12-19_010343之下只有一個World資料夾及cr.tar,請問這樣正確嗎?我都弄不出來.sqlitedb檔,我該怎麼辦呢?

    回覆刪除
  130. Hi 阿怪,

    請確實按照上面提到的步驟,尤其是 Atlas settings 的 Format 一定要是 BigPlanet SQLite

    回覆刪除
  131. 請問android SDK 模擬器可用嗎?
    http://developer.android.com/sdk/index.html

    *若可,要注意甚麼?

    回覆刪除
  132. 什麼東西可不可以用?
    Mobile Atlas Creator 1.7 是 PC 上的程式,跟 Android SDK 模擬器無關。

    回覆刪除
  133. 你好,先感謝大大的分享!今天照著步驟作,遇到了個問題,就是在最後下載完地圖檔後,丟到sd卡路徑,最後有一個cg.的壓縮檔可以開啟,在手機程式內開"設定"開離線地圖,選取好後回程式主頁地圖切換為"cg."後來跑出個視窗"indexing"然後是0/240 一直卡在這邊沒有跑,請問可能是什麼原因呢?謝謝>"<還有現在android是不是下載不到Big Planet Tracks這個程式呢?我是用rmap的,謝謝

    回覆刪除
  134. hi, zcl,

    視窗"indexing"不會動可能是您檔案太大,或是手機太慢。
    建議先用小檔案試試看。
    要在 android market 放程式,要先花30美金註冊,所以我寫的Big Planet Tracks 沒有放上去,RMaps 是另外一個俄羅斯人寫的。

    回覆刪除
  135. 不好意思,問一下,我在網路上有找到big-planet-racks的程式碼,可是打開後好像缺少R的檔案,是要自己增加嗎?還是說大大可以提供我程式碼研究~想要看他的全部程式碼..想在另外一支程式讀取離線地圖..謝謝!!

    回覆刪除
  136. R 是自動產生的,請 clean project => build project 重新產生。

    回覆刪除
  137. 請問哪邊有Big Planet Tracks 的source code想加些功能與離線地圖並用

    回覆刪除
  138. http://code.google.com/p/big-planet-tracks/source/checkout

    回覆刪除
  139. 試了一個下午= =
    不知道怎麼把BigPlanetTracks資料夾拿下來
    也去翻過版主回應的方法
    網頁一進去都英文0.0看不太懂
    或許您可以mail給我source code 到時候我直接import
    我的信箱:f0921841804@hotmail.com
    不方便的話還是謝謝你

    回覆刪除
  140. 不會不方便,但我不願意這麼做。
    如果是MercurialEclipse英文網頁看不懂,請自行Google找中文教學,培養問題解決能力。
    總之,不打算提供source code壓縮檔,要得到魚之前請自己學會釣魚。

    回覆刪除
  141. 請問版主一下,
    如果我要抓台灣的地圖是否就是直接把台灣全部圈起來就可以了?

    回覆刪除
  142. Hi jiun,

    地圖資料庫檔案超過2GB大小就有可能無法讓手機使用。
    台灣全部圈起來可以,但不能選太大縮放等級(例如17、18級以上),否則檔案似乎會超過2GB。

    回覆刪除
  143. 請問出現out of memory 但是如何加start.cmd檔找不到,start.cmd內容為何,環境是window7 64位元

    回覆刪除
  144. T大你好
    請問一下我是用gmapmaker下載了*.mgm的圖檔,能用rmap開啟嗎?因為我存到sd卡的maps目錄下手機抓不到說...謝謝歐

    回覆刪除
  145. 不支援*.mgm,抓得到就神奇了,請遵循網頁步驟產生離線地圖。

    回覆刪除
  146. 大大大收信愉快~
    按您所述都設定後最後按(Create atlas)出現如下:
    Mobile Atlas Creator has detected that you are trying to downlod an extra ordinary large atlas with a very high number of tiles.Please reduce the selected areas on high zoom leveas and try again.
    是何意思?能否告知?

    回覆刪除
  147. Mobile Atlas Creator has detected that you are trying to downlod an extra ordinary large atlas with a very high number of tiles.Please reduce the selected areas on high zoom leveas and try again.

    請問該怎麼辦? 可否分享大大您做好現成的台灣14~17檔案呢?

    回覆刪除
  148. 就字面上的意思啊! 請縮小選取範圍與縮放層級並重試。
    分享地圖是違反GoogleMaps授權的,請自己抓。

    回覆刪除
  149. 我己把file save 在sd card 內, 但在rmap中setting時, 找不到任何檔案, 應如何做?

    回覆刪除
  150. 強制放大,即使1.5倍
    解析度也很差,不像大大的附圖那樣
    除此之外,真是好用的軟體
    如同帶著地圖到處跑
    謝謝大大用心開發好軟體

    回覆刪除
  151. 請問一下,我使用0~15下載了全台灣的地圖,大概400MB左右

    如果要試看更精細,是必要選取我需要的地方,然後再下載15以上的地圖吧?

    所以檔案這麼大是正常的?

    因為看到上面有人說,用到19才只要30多MB?

    回覆刪除
  152. 正常,全台灣0~19不可能只有30MB,要更精細的縣市請繼續抓15以上的。

    回覆刪除
  153. 請問一下, 我使用windows xp 製作離線圖資, 但當我要"create altas"時,都出現下列訊息
    "Mobile Altas Creator has detected that you are trying to download an extra ordinary large altas with a very high number of tiles. Please reduce the selected area on high zoom levels and try again"
    即使我只是download台中市的level 0 只有一個Title也是出現上面的錯誤訊息.
    我用的是 1.8 最新版本

    回覆刪除
  154. 問題已經解決了,謝謝!

    回覆刪除
  155. DR. TYT,

    多謝分享. 我是用Samsung TAB7.7, Rmaps v0.8.9, 成功offline 時用sqlitedb生成的GOOGLE MAP, 並能GPS定位, 在行進時可記錄航跡入Track. 現問, 記錄了的Track 可否拷貝出來? 又如何刪除?

    回覆刪除
  156. 先從 RMaps 匯出軌跡,.gpx 或 .kml 檔就會出現在SD卡 RMaps/export/ 目錄內。
    PS: 請在軌跡名稱上長按叫出選單。

    回覆刪除
    回覆
    1. 多謝提示, 問題已經解決了,謝謝!

      刪除
  157. 請教二個問題:
    1 若GPS沒開,是否也無法流覽地圖? (不一定每次都有定位的需求)
    2 未來可以支援外部GPS嗎? 例如BT的GPS receiver

    回覆刪除
  158. 1. GPS沒開一樣可以看地圖。
    2. 無此計畫。

    回覆刪除
  159. 感謝教學,有兩個不懂的問題
    1. 如果我只是用RMaps的話
    『確認 Atlas settings 的 Format 為 BigPlanet SQLite (預設值)。』
    應該還是選取BigPlanet SQLite
    還是該選取RMaps SQLite
    兩者的分別又是甚麼呢?

    2. 如果日後希望更新地圖,又或者增加地圖的覆蓋地區 (如在地區地圖增加世界地圖)
    是否不用整幅地圖重新下載及制作?因為我發覺地圖都似乎在重新下載。

    回覆刪除
    回覆
    1. 1. 兩者完全一樣。
      http://android-map.blogspot.com/2010/08/mobile-atlas-creator-18-beta-1.html

      2. 請詳讀此篇的 "Mobile Atlas Creator 運作原理",並參考上面網址了解MOBAC1.7與1.8版的區別。

      刪除
  160. 請問Dr. TYT: 如果我蒐集數千筆資料(格式如下)
    我可以用QGIS把Value欄 依數值範圍賦予不同顏色的點show在畫面上; 但是接下來想請問有甚麼工具,可以把這些色點做成離線的透明圖層,疊加到 例如您的Big Planet TW 1.2.4 之上,供Android手機使用. 感恩!

    x_axis y_axis altitude Value
    121.127463 23.882585 2818.314 -78
    121.125551 23.877588 2979.451 -95
    121.132921 23.877933 3175.31 -104
    121.133211 23.877835 3183.284 -86
    121.133399 23.877698 3188.549 -67
    121.136248 23.876543 3221.373 -107
    121.136422 23.87654 3218.06 -112

    回覆刪除
    回覆
    1. 請下載 BigPlanetTracks 或 RMaps 的原始碼,這兩款程式都有繪製軌跡功能,請自行修改原始碼增加你要的功能。
      http://code.google.com/p/big-planet-tracks/source/checkout
      http://code.google.com/p/rmaps/source/checkout

      刪除
  161. 想請問一下!!
    在google map網站看日本地圖是日文,可以用這軟體下載的離線地圖卻是英文的~~
    這該怎麼解決呢?!

    回覆刪除
    回覆
    1. 請改語系為中文就會看到日文漢字。
      Settings -> Map sources (Google Maps -> Language (hl parameters) 改 zh-TW)
      Settings -> Tile store (刪除Google Maps暫存)

      刪除
  162. Hi,請問一下我想製作泰國的離線地圖,做出來的"Custom Unnamed atlas.sqlitedb",檔案都只有1.多MB,有可能是哪裡出錯嗎?
    重複操作好幾次,都是一樣的結果

    回覆刪除
    回覆
    1. 不知道您如何操作的,只能提醒您留意地圖縮放層級 (Zoom Levels),看是選了那些級數。

      刪除
    2. 看網路上一些教學文過後,我把3~11都打勾!看大家都要跑很久才會產生地圖,我大概都只跑幾秒= =

      刪除
    3. 很正常啊! 如果你圈選的地圖範圍不大,3-11當然一下子就跑完了。
      若是圈選整個台灣 0-11 也才 435 tiles,也就是 435 張小地圖區塊,最後檔案 1MB 也是很正常的。

      刪除