离线状态下使用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内使用

fb share

如果喜欢这篇文章,请点个“赞”吧!

fb share

13 comments

  • 自由行旅游教室

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

  • 自由行旅游教室

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

  • JJ

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

发布留言

发布留言必须填写的电子邮件地址不会公开。

收到您的留言后,小弟会尽快回复,您可以Bookmark本篇文章,方便之后回来查看回复。回答您留言所查询的问题有时候需要一些时间研究,请耐心等待。另外,如果您还未赞好过本Blog Facebook专页,可以请给我一个讃吗?!就当作是我花时间和精神解答您问题的一点支持吧。谢谢!

fb share

如果喜欢这篇文章,请点个“赞”吧!

fb share