離線狀態下使用iPhone地圖及衛星定位功能–Part 2:製作iPhone地圖緩存文件

上一篇介紹了iPhone地圖的運行原理,亦明白到只要有方法預先將地圖資料存入iPhone地圖的緩存文件,並且能夠保持緩存文件內的資料不被刪除,就可以在離線狀態下使用iPhone地圖。這一篇就為大家介紹預先將地圖資料存入iPhone地圖緩存文件的方法。

製作iPhone地圖緩存文件

 

 

如果想將地圖資料預先存入iPhone地圖的緩存文件,最簡單的方法是先將Google地圖的資料下載到電腦,然後將資料製作成緩存文件格式的檔案,再將檔案複製到iPhone上地圖緩存文件所在資料夾取代原來的緩存文件檔案。

如果有使用過PSP地圖功能的朋友應該知道,有一款叫Global Map Download Tool (GMDL)的軟件,可以將Google地圖下載到PSP使用。其實GMDL同樣可以將從Google Map下載到PC的地圖資料製作成iPhone地圖的緩存文件。使用方式如下:

一、下載及運行Global Map Download Tool軟件

 

1. 首先到

官方網頁下載Global Map Download Tool >> GMDL最新版本下載
2. 將下載回來的壓縮文件(gmdl 0.5.15 b.zip)解壓縮到你指定的位置。
3. 進入資料夾:GMDLbinDebugdouble click檔案“Global Map Download Tool.exe”,執行程式。(GMDL無須安裝,只須執行Global Map Download Tool.exe便可)

Global Map Download Tool的版面與Google Map很相似,但是就多了很多選項以及按鈕,而一般情況下大部份選項與按鈕都可以不用理會,詳細使用見以下說明。
1
GMDL1

 

二、使用Global Map Download Tool軟件製作iPhone地圖緩存文件

 

Step 1. 執行Global Map Download Tool.exe程式後,先在地圖搜索欄(圖1中標示(A)位置)輸入打算下載的地方名稱,例如“Japan”或者日本,然後按「搜尋地圖」。地圖跳至所輸入地方後,再將地圖放大拉近至要下載的區域。Global Map Download Tool中放大及縮小地圖範圍的操作與Google Map相同,可以使用畫面上的「放大及縮小」操作杆(見1中的標示(B));亦可以使用滑鼠中間的滑輪進行放大及縮小操作。

– – – – – – – – – –

Step 2. 下「Preview 1x」(圖1中標示(C)位置)按鈕,預覽進入下載範圍的地圖區域(圖2)。如果要下載的區域不在預覽視窗內,就需要返回地圖畫面進行調整,調整後再Preview 1x」預覽。調整時需要移動地圖,將下載區域盡量拉到正中位置,如果預覽視窗內的地圖無法完全包含所要下載的區域,可以嘗試將地圖縮小一級再試。由於Global Map Download Tool將地圖劃分為方塊區域,所以這個step有時需要一些耐性完成,總之不斷重複直至你要下載的區域包括在預覽視窗內為止。
2
GMDL2
註:預覽視窗上面所顯示的資料(圖2中紅框部份),代表如果按所設定的地圖最精細層次(見Step 3說明),將顯示在視窗內的整個區域下載,所下載的地圖圖片的數量以及預計size,上例中有1,398,100個圖片file,並大約需要8,191MB儲存空間。(有關下載地圖檔案size的問題,請參考Step 5說明。)

– – – – – – – – – –

Step 3. 按下「Advanced(圖1中標示(D)位置),顯示地圖坐標視窗(圖3中紅框部份),然後再按「Get Numbers」(圖3中標示(E)位置)。
3
GMDL3
按下「Get Numbers」後,坐標視窗內會顯示下載區域的地圖坐標以及地圖縮放層次的數據(圖3中標示(F)位置)。包括:x – 數值表示下載區域地圖的橫軸坐標,數值越小越向西(左);,y – 數值表示下載區域地圖的縱軸坐標,數值越小越向北(上);zoom – 數值表示下載區域地圖最廣域的層次(即預覽視窗中所顯示的範圍);min zoom – 數值表示下載區域地圖最精細的層次,數值越小地圖越精細,極限是-2

Global Map Download Tool將下載地圖的min zoom預設為0,但可以人手修改,只須在格內輸入自訂數值便可。當min zoom = 0時,地圖可以顯示一般街道名稱,主要機構、酒店、百貨公司名稱,主要便利店位置,地鐵站出入口編號等,一般已經可滿足使用需要。min zoom = -1時,地圖可以顯示得更細緻,看起來更清楚,而且一些較有名的店鋪亦可以顯示出來。而當min zoom = -2時,地圖會精細到可以顯示大多數建築物的名稱和門牌號碼,以及大部份商店名稱。

但是對於iPhone地圖,最多只能support min zoom = -1的層次,所以就算你將min zoom設定為-2,製作成iPhone地圖使用的格式文件後,在iPhone地圖上亦無法顯示-2層次的部份。

另外,需要留意min zoom數值每減少1,下載地圖資料的size會增加大約一倍。所以決定min zoom數值時,需要考慮地圖size會否過大。(有關下載地圖檔案size的問題,請參考Step 5說明。)

註:iPhone 4可以支援min zoom=-2層次的地圖。

– – – – – – – – – –

Step 4. 按下「Set Dir」(圖3中標示(G)位置),然後在彈出視窗中(圖4)選擇(或者建立)存放下載資料的資料夾。此步驟不執行亦可,當不執行此步時,Global Map Download Tool會自動在資料夾:GMDLbinDebug內建立一個以“_Map of”開頭的資料夾來存放下載資料。
4
GMDL4

– – – – – – – – – –

Step 5. 按下「Download The Map」(圖3中標示(H)位置),然後在彈出視窗中(圖5)選擇要下載的區域。圖5所顯示的地圖範圍與預覽視窗(2)相同,Global Map Download Tool會將視窗的區域劃分為64個方塊區域,可以根據需要選擇下載哪些區域,不需要下載區域可以將方格區域中間“tick除去。如果要下載的區域不多,可以先按右上角的「[]all」按鈕,將所有方格區域的“tick除去,然後再tick選需要下載的區域。
5
GMDL5
選擇下載區域後,系統會根據所設定的地圖最精細層次(即Step 3中所設定的min zoom數值),以及所選擇下載區域的數量,估計所下載的地圖圖片數量(圖5中標示(I)的數值)以及下載圖片檔案所佔用的儲存空間(圖5中標示(J)的數值)。

 

Google地圖是由無數張圖片組成,每張圖片的size大約有十幾Kbye,而Global Map Download Tool的運作是先將Google地圖的圖片檔案下載到電腦,然後再將圖片檔案合併及轉成地圖格式檔案。圖5(J)的數值是指圖片檔案的總size,並不等於轉成地圖格式後地圖檔的size。一般情況下,轉成地圖格式後地圖檔的size大約是圖5(J)的數值的40%70%,實際比例視乎所下載區域在Google地圖中的精細程度。如果下載區域主要是市區的話,由於Google地圖對市區比較精細,圖片檔較多,所以合併及轉檔後地圖檔的size亦較大,可能達圖5(J)的數值的70%;如果下載區域主要是郊野的話,由於Google地圖對人煙較少的地區比較粗糙,圖片檔較少,所以合併及轉檔後地圖檔的size亦較小,可能只有圖5(J)的數值的40%

雖然理論上使用Global Map Download Tool下載的地圖資料可以無限大,但實際上受電腦硬件所限,一般當下載的地圖圖片檔案size超過3,000MB 時,Global Map Download Tool去到轉檔時就會出現”死機”情況。實際上限是多少要視乎電腦硬件的配置。所以,下載前要留意檔案size數值,盡量不要超過上限。

 

另外,下載的地圖圖片檔案size大小亦影響下載時間,當size超過2,000MB時,一般需要十幾小時才可以下載完成,具體多少亦要視乎電腦硬件的配置以及網絡連線的速度而定。下載大size檔案(指超過1,000MB但未過3,000MB)的技巧,請參考下文下載大體積地圖的技巧的介紹。

最後想說明多一點,圖5(J)的數值下面的選項(1x,2x,4x……),代表min zoom。如果在Step 3中將min zoom設定為-1,那麼1x就代表-1層次,2x代表0層次,如此類推;如果在Step 3中將min zoom設定為0,那麼1x就代表0層次,2x代表1層次,如此類推。所以如果你已經在Step 3中設定好所需的min zoom數值,就不需要改動這部份選項。
網上面有一些介紹Global Map Download Tool的文章說iPhone地圖不support 1x,建議除去1x方格的“tick,其實這個講法只是當你將min zoom設定為-2時,才正確。因為當min zoom設定為-2時,1x就代表-2層次,而iPhone地圖不support -2層次,所以這個時候可以不要1x。但是當min zoom設定為-1或更高數值時,就應該要保留1x。所以正確的理解應該是,iPhone地圖不support min zoom = -2,而不是不support 1x

– – – – – – – – – –

Step 6. 選擇好下載區域後,按視窗最上面的「Uncheck any titles which you. . . . . .」(圖5中紅框部份),系統就會開始從Google Map將地圖圖片檔案下載至電腦。下載過程中,Progress(圖3中標示(K)的位置)右邊會顯示已下載檔案的數量、已完成百分比以及預計剩餘時間(不過這個時間不準確,可以不理)。

– – – – – – – – – –

Step 7. 當系統完成從Google Map下載所有地圖圖片檔案後,會自動將圖檔合併及轉成多個GPSFS檔案(圖6),並自動刪除所下載的地圖圖片檔案,然後顯示「Finished downloading the map and GPSFS created」的提示視窗(圖7)。
6
GMDL6
7
GMDL7
註:如果需要在PSP中使用離線地圖,可以將儲存GPSFS檔案的整個資料夾(資料夾名稱必須以“_”開始)複製到PSP中,然後使用Map This軟件開啟地圖。

– – – – – – – – – –

Step 8. Global Map Download Tool不會自動將GPSFS檔案轉為iPhone地圖緩存文件格式的檔案,需要人手執行。點擊「Finished downloading the map and GPSFS created」提示視窗中的「確定」按鈕後,系統會返回圖3的主畫面。按下「->iPhone」按鈕(圖3中標示(L)的位置)後,會彈出轉換為iPhone地圖格式的操作視窗(圖8)。
8
GMDL8
按下「Set Dir」(圖8中標示(M)的位置)選擇存放轉換完成後的iPhone地圖檔案的資料夾路徑,請留意是選擇資料夾的路徑,而不是真正存放地圖檔案的資料夾。以圖8為例,我打算將轉換後的iPhone地圖檔案存放在一個叫東京的資料夾,而這個資料夾位於路徑“G:iPhone離線地圖內。操作方法是先按下「Set Dir」,然後選擇路徑“G:iPhone離線地圖,確定後Output輸入欄(圖8中紅框部份)會顯示“G:iPhone離線地圖,再在路徑後面輸入資料夾名稱東京,但記住東京資料夾不可以是已經存在的資料夾。其實亦可以直接在Output輸入欄輸入路徑以及資料夾名稱。

如果覺得麻煩不想自己執行以上步驟設定資料夾,可以由系統預設。預設的資料夾存放在桌面,資料夾名稱是“iphone_map”,但要留意轉檔前桌面上不可以有“iphone_map”這個資料夾存在,否則會出現資料夾已經存在的錯誤信息。

操作視窗內其餘選項不需要改動,使用系統預設就可以。按下「Process (click here, and wait)」(圖8中標示(N)的位置)等一會系統就會開始轉檔。完成轉檔後,會顯示「Did: Map xxxxxx」的提示視窗(圖9)。
9
GMDL9

註:其實這個Step不一定需要接住Step 7之後即時進行,如果沒有時間你可以在完成Step 7之後關閉程式,等下次有時間時再重新開啟Global Map Download Tool執行將GPSFS檔案轉為iPhone地圖緩存文件格式的工作。當重新開啟Global Map Download Tool後,只需要按照Step 4,在按下「Set Dir」(圖3中標示(G)的位置)後彈出的視窗中(圖4)選擇上次存放下載資料的資料夾(資料夾內已經有齊GPSFS檔案),再按Step 8的做法進行便可。

完成後,存放檔案的資料夾內會有兩個檔案(圖10)。其中“MapTiles.sqlitedb”iPhone地圖緩存文件檔案,只需要將“MapTiles.sqlitedb”複製到iPhone地圖緩存文件所在的資料夾,就可以在離線狀態下使用iPhone地圖。而另一個檔案“com.apple.Maps.plist”是地圖坐標文件,記錄了所下載區域的坐標位置。
10
GMDL10
坐標文件的作用是令iPhone地圖知道緩存文件中地圖所在位置,當打開iPhone地圖時,頁面會自動顯示地圖所在位置。如果不將坐標文件同時複製到iPhone,打開iPhone地圖時頁面會顯示對上一次退出iPhone地圖時,地圖所在的位置。例如,如果你對上一次退出iPhone地圖時,正瀏覽澳門地圖,而複製到iPhone的是日本東京地圖的緩存文件,那麼當你開啟iPhone地圖時,就會找不到東京地圖,畫面只會顯示上次所瀏覽的澳門地圖;如果你在離線狀態下開啟iPhone地圖,更加只會顯示空白畫面。

不過如果你身處的地方在地圖範圍之內,又或者之前有將地圖中某些地點做了bookmark(製作bookmark的方法及用途,將於下文介紹),那麼就算不將坐標文件複製到iPhone亦沒有問題。如果你身處的地方在地圖範圍之內,那麼只需要點一下iPhone地圖左下角的「定位」icon,就會將地圖畫面轉到所在位置;又或者如果之前有將地圖中某些地點做了bookmark,那麼在bookmark中點某個地點,同樣可以將地圖畫面轉到bookmark地點的位置。

至此,製作iPhone地圖緩存文件的工作已經完成。Global Map Download ToolGPSFS檔案轉換為iPhone地圖緩存文件後,並不會自動刪除GPSFS檔案,需要人手刪除。另外,在資料夾所在drive的根目錄中,可能會殘留一些“1x”“2x”命名的資料夾,這些資料夾內的資料在完成製作iPhone地圖緩存文件後,已經沒有用,可以完全刪除。 

__________
Windows 64bit無法轉檔的問題

Global Map Download Tool預訂是在32bitWindows系統中應用,所以如果你的Windows64bit,在將GPSFS檔案轉為iPhone地圖緩存文件格式時,系統會出現無法載入檔案組件System.Data.SQLite, Version=……”的錯誤信

解決的方法很簡單,只需要將資料夾“:GDMLbinDebugx64 SQLite”內的檔案“System.Data.SQLite.DLL”複製到資料夾“:GDMLbinDebug”,取代原來的“System.Data.SQLite.DLL”檔案就可以。

__________
iPhone OS4說明
對於iPhone 4以及使用OS4或以上版本的iPhone 3G S,下載後的離線地圖格式並不支援,需要先將MapTiles.sqlitedb”檔案進行格式轉換。方法如下:

1. 下載及安裝Mapv4v5Converter轉換地圖格式程式(下載完解壓後執行setup.exe安裝):

 

最新版本(v1.4.3)同時適用於windows 32bit和64bit:http://imapsmanager.ru/mapConverter/Mapv4v5Converter.zip

專供windows 64bit使用的舊版本:http://imapsmanager.ru/mapConverter/Mapv4v5Converterx64.zip

Mapv4v5Converter官方英文網址:http://imapsmanager.ru/mapConverter/mapConverter_eng.htm

 

2. 執行Mapv4v5Converter轉換地圖程式,然後Click “Browse…”按鈕開啟需要轉換格式的“MapTiles.sqlitedb”檔案,Click “Info…”按鈕可以檢查檔案的格式版本。

 

3. 選擇輸出檔案格式(output format)如果是iPhone 4選擇“iPad/iPhone 4 v 10”,如果是安裝了iOS4iPhone 3GS就選擇“iPhone v 10(piror to iphone 4, firmware 4.0)”

 

4. “Start conversion”按鈕,然後在彈出來的視窗中選擇語言(Language)以及地區格式(Region Format),這兩個選項必須與你iPhone上「設定>一般>國際設定」內的語言地區格式的設定相同。(有內地討論區的網民表示對於簡體中文版本,從下拉式選項中選擇會出現問題,需要直接在“Locale”中輸入zh_CN

 

5. “OK”按鈕後,選擇儲存輸出檔案的位置,或者更改檔案名稱,確定後就會開始轉檔。

三、下載大體積地圖的技巧

 

之前講過,當下載的地圖圖片檔案太多而令到檔案的size太大的時候,可能需要十幾小時甚至更長時間才可以完成下載。在這種情況下,是不是需要一直開著電腦等它下載完成再轉完檔才可以關機呢?答案是並不需要。

Global Map Download Tool在下載地圖圖片檔案的時候,是逐個檔案下載並儲存在電腦上,當未完成下載所有檔案前關閉程式時,已經下載的檔案並不會掉失,仍然被保存在電腦資料夾內,當下次重新開啟Global Map Download Tool時,程式會先掃描資料夾內的檔案,如果檔案已經存在,程式會跳過而不會重複下載,然後繼續下載剩餘未下載的部份。(程式進行掃描時,你可以見到Progress(圖3中標示(K)的位置)右邊顯示的已完成百分比數值會快速增加,直至你上次關閉程式時的已完成百分比。)所以你大可以在需要關機時,關閉Global Map Download Tool,等到下次上網時再執行,直至全部完成為止。

操作方法與上述所講的步驟相同,即是當下次重新開啟Global Map Download Tool時,重新執行Step 1Step 6,而在全部下載完成後,再執行Step 7Step 8。但有以下幾點事項需要注意:

1. 坐標視窗內顯示的下載區域地圖坐標以及地圖縮放層次的數值(圖3中標示(F)的位置),必須與第一次設定的數值相同,所以第一次下載時,最好記下這些資料。
2. Step 4中,按下「Set Dir」(圖3中標示(G)的位置)後從彈出的視窗中(圖4)選擇的資料夾,必須是上次存放下載資料的資料夾。
3. Step 5中,按下「Download The Map」(圖3中標示(H)的位置)後在彈出的視窗中(圖5)選擇要下載的區域時,你應該選擇與上次相同的下載區域,不過你亦可以增加下載區域。
4. 使用這個方法,理論上下載的地圖資料可以無限大,但實際上因為受電腦硬件所限,當下載的地圖圖片檔案size過大時(一般是超過3,000MB 時),Global Map Download Tool去到轉檔時就會出現”死機”情況(實際上限是多少要視乎電腦硬件的配置)。所以,實際上下載地圖的size有一定限制。舉個例子,如果將min zoom設定為-1,下載一個包含日本京都府南部、大阪全境以及奈良大部份地區的地圖,下載檔案size已經接近3,000MB,接近上限。如果以同一設定下載日本九州地圖,需要分三個地圖下載。

介紹完製作iPhone地圖緩存文件的方法後,下一個步驟是將地圖緩存文件放入iPhone內使用,這部份會在下一篇為大家介紹。

繼續閱讀下一篇 >> Part 3:將地圖緩存文件放入iPhone內使用

如果喜歡這篇文章,請點個「讚」吧!

13 comments

  • 自由行旅遊教室

    剛剛試過mapsenhancer在ios5沒有作用,所以使用iphone ios5暫時無法用這種方式使用離線地圖.

  • 自由行旅遊教室

    真的嗎?我打算過幾天試一試upgrade去io5,試試看是不是可以用.

  • JJ

    ios 5.0 沒辦法顯視地圖
    不知道是哪個部份的問題
    Mapv4v5Converter沒轉好 還是 i-funbox出錯
    唉 早知道就不要那麼早更新ios了….

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

收到您的留言後,小弟會盡快回覆,您可以Bookmark本篇文章,方便之後回來查看回覆。回答您留言所查詢的問題有時候需要一些時間研究,請耐心等待。另外,如果您還未讚好過本Blog Facebook專頁,可以請給我一個讃嗎?!就當作是我花時間和精神解答您問題的一點支持吧。謝謝!

如果喜歡這篇文章,請點個「讚」吧!