自助式手机地图服务系统----教你怎样构造自己的手机离线地图服务系统

 

自助式手机地图服务系统

 

1、什么是自助式手机地图

自助式手机地图就是自己动手制作地图文件,然后放到手机上,使用手机地图程序打开手机上的地图文件来实现地图的操作,获得地图服务,如查看道路,查找地名位置,GPS定位,指南针方向等。任何人都可以通过使用免费的工具程序在PC上制作世界上任何地方的地图,包括各种类型的地图,如,道路交通图,地形地貌图,卫星图和综合地图(是道路图与卫星图的合并),在制作的地图数据中可以选择包含一种或几种地图类型。这就是自助,自己动手,获得完全免费的地图服务。这种服务不需要手机信号,没有使用网络,无流量费用,不怕电话不通,只要手机有电,就能使用地图服务以及GPS定位,指南针方向,地名查询等功能。

 

2、自助式手机地图的好处

一般在手机上使用地图服务,都需要连接网络,打开地图服务后,所有显示在手机屏幕上的数据都是来自于网络,这有几个方面的特点,一个是网络的流量,这不仅花费流量费用,还需要网络畅通。再有就是地图使用的流畅性与网络容量相关,当网络拥堵时,浏览地图就不那么流畅,特别是在反复查找搜寻目标位置时。另外,在使用不同的地图类型时,特别是综合地图,网络下载的都是图像数据,手机网络压力就可想而知了,不仅流量花费十分惊人,而且操作体验也会受到影响。

再来看一下自助式手机地图,由于所有地图数据都已经存在于手机中了,因此,地图的任何操作与网络没有任何联系,当然也就不会有流量,不会有网络的阻塞,地图浏览的流畅性完全取决于你的手机性能。而且无论使用哪一种地图类型,浏览速度都是一样的。由于与网络无关,不仅不会有流量和流量费的问题,还可以尽情的享受地图服务带来的好处,而不必担心巨额的流量费用,这就是使用中的完全免费,而不是使用中的程序完全免费,而流量不免费。再有就是不要求手机信号的覆盖,在没有手机信号的区域,也可以正常使用,对于野外作业,探险穿越旅行,离线地图可以带给你一些安全上的保障。

有一利必有一弊,这就是使用者需要自己做一些功课,制作地图或下载别人已经做好的地图进行实地校正。制作地图和校正地图的工作是可以由免费的工具程序来完成的。下面会一一介绍地图的制作和误差校正过程。

 

3、怎样构造自助式手机地图系统

自助式手机地图服务系统由下列软件程序构成:

       离线地图制作工具GMapMobile.exe,这是一款PC程序,在Windows操作系统下运行,其作用是通过网络生成地图数据文件,该程序不用安装,下载后直接放到一个文件夹下即可。运行该程序需要计算机连接网络。启动程序,显示当前地图中心位置在辽宁省,沈阳市,如果首次启动,程序自动下载当前默认的地图数据,而后即可进行操作。该程序的下载地址:

1、 http://www.eoeandroid.com/thread-100338-1-1.html

2、 http://down.51cto.com/data/254639

3、 http://download.csdn.net/detail/chchzh/3622180

 

地名数据文件是使用地名查询功能时所需要的地名数据。它与地图制作工具一同形成完整的地图系统,使制作出来的地图具有地名查询定位功能,一些地图上没有标出的地名在这里都能给出。地名数据比较大,包含了全国600万左右的地名数据,因此数据文件按照纬度分布,分割成多个文件,这是为了方便下载。下载地址:

                    http://down.51cto.com/data/240035

 

手机离线地图GPS定位程序(地名版),这是一款手机程序,需要到MM手机应用商店购买下载,或者天翼手机商店下载。在手机上安装了这个应用程序后,就可以打开由离线地图制作工具生成的地图文件。该程序包含有地图浏览,GPS定位,GPS轨迹跟踪,地名查询,指南针等功能,还可以实地校正地图偏差,使GPS定位精度提高,进而达到精确定位。这是一个一次性付费终生免费使用的程序。

 

上面介绍的三个文件构成了自助式手机地图服务系统,地图生成工具和地名数据在PC上操作产生手机上可以使用的地图文件,手机离线地图GPS定位程序(地名版)使用地图文件建立地图服务。在这个系统中,地图数据可以随时修改校正,特别是地图误差,可以对已有的地图文件进行现场的误差校正,达到精确地GPS定位。

4、制作地图

制作地图需要下载必要的程序和数据,按照上面一节提供的下载地址下载离线地图制作工具(2011-9-21更新版),以及需要的地名数据文件,就可以开始制作地图了。

      先将下载的地图制作工具程序解压到一个文件夹下,同时也将地名数据文件解压到这个文件夹下(也可以将地名文件放在不同文件夹下),比如:

                    E\GMapMobile

然后启动工具程序,等待程序下载默认设置使用的地图数据后,可以看到程序界面如图:

此时由于还没有挂接地名数据,因此程序界面中的“查找地名位置”按钮和“包含地名位置数据”复选框是不可用的。

 

首先要挂接地名数据,点击右下角的设置按钮进入设置界面,如图:

在“地名数据”框内,按添加按钮,添加要挂接的地名文件,如图:

添加完所有要挂接的地名文件后,按地名数据框中的设置按钮,将地名文件设置到地图系统中。完成挂接操作后关闭设置对话框,然后退出系统,重新启动这个工具程序。

注意:一般在改变了系统的设置以后都应该重新启动程序,以保证设置参数的一致性。此时程序界面如图:

再启动程序后,程序标题上多了“(地名数据有效)”字样,说明地名数据已经正确挂接到系统中。此时的查找地名位置和包含地名位置数据都变得有效了。下面开始制作地图。

      首先介绍主界面中的一些数据的意义。在窗口右侧有一些显示数据,这些显示数据的意义是:

             中心位置:表示地图中心位置的经纬度坐标,即地图上中心十字线点处的坐标值,移动地图,这个值随之变化。

             图像尺寸:表示当前显示地图的图像大小,移动地图,这个值随之变化(按照256的倍数),每次改变放大倍数时,这个值恢复到默认大小。

             当前位置:表示鼠标点在地图上的经纬度坐标,在地图上移动鼠标,这个值随之变化。

             当前放大倍数:表示地图的放大倍数,地图放大倍数从5开始(最小)到17止(最大),选择一个放大倍数后,按后面的按钮,地图将缩放到指定的缩放倍数,此时地图的中心位置不变。当鼠标在地图范围上时,可以使用滚轮缩放地图,此时地图中心变为鼠标所在位置,即,地图缩放是以鼠标位置为中心进行的。

             查看地图类型:选择当前显示的地图类型,Google地图有四种类型:

道路交通图:一般意义上的地图

地形地貌图:显示地形和标高的地图

卫星图像图:显示卫星图像地图

卫星道路图:显示卫星图与道路图合并的综合地图,在缩放倍数超过12的时候,卫星道路图与卫星图相同。

             查找地名位置按钮:打开查找地名对话框,可以查找地图包含的地名,然后在地图上标注地名位置(将地名指定的位置移动到地图中心)。

 

下面是生成地图时需要设置的参数:

 

             最大放大倍数:指在生成手机地图时要求的缩放倍数,这个值一定要大于等于“当前放大倍数”的值。

             包含地图类型复选框:选择在生成手机地图时所要包含的地图类型,包含的地图类型越多,生成的地图数据就越大。

             包含地名位置数据复选框:选择在生成地图时是否要包含地图范围内的地名数据。如果没选中这个复选框,生成的地图数据在手机中是不能打开地名查询功能的,然而,地图文件将会小一些。如果选中了包含地名位置数据复选框,生成的地图文件要大一些,但是在手机操作时可以打开地名查询功能。

             生成手机地图按钮:开始按照设置和选择参数生成手机地图,即从网上下载所需要的地图数据,形成特定的手机地图文件。此时会弹出对话框,如图:

显示要生成的地图数据。按Ok键后,关闭对话框,开始生成地图,按Cancel键则关闭对话框,什么也不做。

      开始生成地图后,在生成按钮的下方显示一个地图数据下载的进度条,表示地图数据下载了多少,如图:

 

当达到100%时,下载完成,弹出文件保存对话框,如图:

 

输入要生成的地图文件名,地图就会被保存到指定的位置。地图生成完成后会弹出操作完成对话框,表示生成操作结束,如图:

 

注意:在地图数据下载过程中,由于网络原因,有些数据丢失,下载操作不能完成,这种情况下,或希望中断下载,以后再生成地图时,可以按进度条后面的取消按钮,取消此次生成操作,这时已经下载的数据不会丢失,重新按生成按钮,下载操作从断点开始继续下载,直到完成。如图:

 

             帮助按钮:打开本程序的帮助文档。在首次操作之前,应该仔细阅读帮助文档。

             保存设置按钮:将当前生成地图的设置参数数据保存到文件中,以便以后生成时使用,方便地图生成和交流。

             打开设置按钮:打开生成地图的设置参数文件,此时地图界面和所有参数恢复到参数文件给出的设置参数。可以按此参数直接生成地图,或修改参数后生成地图,不必每次都设置地图参数。

      注意:打开和保存地图设置参数功能,是为了方便地图参数设置,形成的文件是本系统特有格式的文件,后缀为*.map

 

             设置按钮:设置地图操作的参数和误差。按设置键,进入参数设置窗口,如图:

前面我们讲到了关于挂接地名数据的操作,这里我们要讲的是地图的误差校正和初始化的参数设置。首先是地图误差。所谓地图误差就是指地图标注的坐标位置与实际地理坐标位置之间的偏差,一般地图或多或少都存在一定的偏差,这里的参数设置就是要在地图上消除这种偏差。

      首先要记住当前地图上一个地标点的经纬度值,比如北京鼓楼的图上坐标值:

                           经度:T_Lon = 116.3960226

                           纬度:T_Lat = 39.941067457

然后实地测定该地标点的经纬度值:

                           经度:S_Lon = 116.3960226

                           纬度:S_Lat = 39.941067457

则地图误差为:

                           Delta_Lon = T_Lon - S_Lon

                           Delta_Lat = T_Lat - S_Lat

 

将计算后的误差值输入到相应类型误差编辑框中,按对应的设置按钮,每按一次设置按钮,都将编辑框中数值与当前地图的误差数值进行计算,因此,只能按一次。关闭设置框,再进入,则相应的精度误差框中显示最终计算得到的偏差。

      验证地图误差,将地图中心移动到地标点,查看此时的中心坐标是不是实际坐标,如果不是则误差设置错误。

 

注意:设置误差之前,一般要首先清除误差,使当前误差值归零,也就是在打开设置窗时,对应的误差显示为0。清零操作就是不管显示的是什么值,都按一次设置按钮,然后退出。再进入时,误差显示归零。然后按照上面的方法设置误差。

      初始位置:设置程序启动时的初始显示位置,默认为沈阳市,可以输入想要的坐标位置。

      初始放大倍数:程序启动时的放大倍数,默认为5。可以选择一个值。

      地名暂留时间:没有使用。

 

             查看按钮:查看已生成地图的属性,修订已生成地图的误差,刷新老版地图的地名数据,如图:

生成的地图是什么样的,使用这个按钮就能看到,可以在打开的窗口中查看地图的范围是不是足够大,地图的误差设置是不是准确,老版地图是不是需要添加地名数据。

 

      关于地图的误差修订,首先打开要修订的地图类型,如道路交通图。将地图中心移动到地标点(已知实际经纬度的位置),按误差修订按钮,弹出对话框,如图:

输入地标点的实际经纬度数值,如果地图的各个类型之间的误差已经调整好了,即类型之间是一致的,则当前输入的实际值对应所有类型,可选择调整所有类型,否则选择调整当前类型。Ok键后,误差自动计算调整。此时再看地图中心(或者稍微移动一下地图),显示的坐标将对应到实际坐标。

 

      移动地图操作,使用鼠标,在地图上按住左键,移动鼠标,地图将被拖动。前后转动滚轮,地图将被缩放。要注意的是,缩放过程可能需要在网上下载地图数据,因此需要等待,才能显示刷新。

      中心坐标后的按钮为调整地图误差的按钮。可以直接输入相对于地图中心的坐标值,将当前类型的地图误差调整到指定的值。

      地名刷新按钮:对于老版本地图添加地名数据。

 

5、使用地图

地图数据是在手机上使用的地图文件,对于运行Windows Mobile操作系统的手机,地图文件可以拷贝到手机存储到\Program Files\GMapMobile的目录下,或SD卡上的\Program Files\GMapMobile目录下。对于运行AndroidOphone操作系统的手机,地图数据文件可以放到手机程序安装的指定数据目录下或SD卡的主目录下,例如:

存放到手机存储器中:

       /data/data/ccc.AndGMapMobile/files/

存放到SD卡上:

   .mnt/sdcard/

 

在下载安装了《手机离线地图GPS定位程序(地名版)》后,就可以启动这个程序,体验离线地图操作带来的感受了,首先是不用担心网络连接和网络流量,没有坐出租等车也蹦字的那种心情。本程序自带了一款北京地图,可以直接在上面浏览和查询,也可以切换到自己制作的地图上。下面就以这个自带的地图来说明程序的各项功能及操作方法。

启动程序后直接进入地图界面,如果设置使用的地图存在,则显示为设置使用的地图,这里显示的应该是北京地图,对于WindowMobile的用户如图:

 

对于AndroidOPhone用户,如图:

 

         

程序启动时是不显示GPS定位的,在需要GPS指定当前方位时,使用菜单操作打开GPS功能,这时才能在地图上显示当前坐标位置。注意:GPS设备比较耗电,使用时应该注意。打开菜单,如图:

  

 

菜单列出了程序的各种功能,用户首次使用程序,应该仔细阅读帮助文档,在帮助文档中对程序的各个属性和功能都有较为详细的说明。

      属性/地图属性:显示当前使用的地图特征,如图:

 

 

 

地图文件栏位显示当前使用的地图文件位置。MapDemo.Dat是程序自带的地图演示文件,也就是默认的地图,这是一张北京市的地图,可以使用选择地图按钮选择合适的地图文件。地图类型栏显示当前使用地图的可用类型,MapDemo地图包含了两种地图类型,一是道路交通图,一是道路卫星图,在选择类型时,可以选择显示这两种类型之一操作。可用缩放栏显示地图的缩放级别,MapDemo的缩放界别有两级,1314

 

选择地图操按钮,用于切换地图数据。按此按钮,进入地图选择窗口,如图:

  

 

 

 

在窗口的列表中显示手机中所有可用的地图文件,其中[SD]SD卡图像指示的文件名表示文件在手机的SD卡上。比如“小秦岭”和“MobileSHGeo.Dat”等。选择一项,退出,返回到地图界面,则地图切换到指定的地图。如果没有改变,则程序不进行任何操作。

 

GPS设置:Android下的GPS设置包含了“GPS有效”、“GPS轨迹”和“轨迹清除”三项功能。这些也正是WindowsMobile中菜单对应的功能。

 

      GPS有效:打开GPS定位功能,在地图上实时显示手机当前的位置,这要求当前使用的地图范围包含了GPS坐标范围。对于GPS超出地图方位的情况,GPS不能正确定位。

 

      GPS轨迹:打开GPS轨迹跟踪功能,手机将每5分钟记录一次GPS坐标,并显示在地图上,在地图上标注过去一段时间的轨迹点。对于WindowsMobile,记录的轨迹点在20个左右,对于AndroidOphone,大约记录10个点。

 

轨迹清除:清除记录的轨迹,重新开始记录和显示。

 

如图:

  

 

AndroidOphone下的GPS轨迹显示,如图:

  

 

类型/地图类型:切换显示不同的地图类型。当地图有多个可用的地图类型时,选择切换显示。

 

缩放:WindowMobile下的缩放操作与Android下地图下方的缩放按钮功能相同,都是改变地图的缩放比例,放大,是将地图的缩放比例调整到下一级,如果当前已经放大到最大了,则不进行任何操作。缩小,是将讲地图的缩放比例调整到上一级,如果当前已经缩小到最小了,则不进行任何操作。

 

地名操作:地名操作包含有两项功能,一是打开/关闭地名标注的显示,一是打开地名查询窗口,查询地名。在查询地名窗口的编辑输入框中输入想要找的地名,列表显示与输入文字相关的地名,选择一项,则地图中心定位到指定的地名位置,并显示一个标注。如图:

  

 

 

 

指南针有效:打开或关闭指南针显示。指南针显示在地图的上方,绿色指向正南。对于WindowsMobile下的系统,指南针是由GPS数据给出的方位角指定。对于AndroidOphone系统,指南针是方向传感器的方位角数据。

地名操作和指南针操作在AndroidOphone系统中归入辅助功能菜单。

 

指南针显示如图:

  

 

 

 

偏差校正:校正当前显示类型地图的定位偏差。相对于显示地图的中心位置坐标,打开偏差校正窗口,如图:

  

当前地图类型显示为“道路交通图”,这里显示的是与当前选择显示的地图类型一致的类型名,说明要校正的的当前这个类型的地图。

当前中心位置坐标给出地图上中心的位置坐标,它可能与实际的坐标不一致,是需要校正的。

输入实际中心坐标,在输入框中输入中心位置的实际坐标经纬度值,进行偏差校正。

当前位置坐标是由GPS设备给出的手机当前位置坐标值。这个值是随手机位置实时变化的。

 

注意:在地图界面中双击鼠标,地图中心自动移动到当前GPS位置,此时,可以查看地图位置与实际位置是否一致,然后将地图中心移动到实际位置点,打开偏差校正窗口,输入中心点的实际经纬度坐标值,即可精确校正地图偏差。

 

检验校正结果,在地图界面双击鼠标,使地图中心移动到当前GPS定位位置,然后查看左上角标出的经纬度是不是实际位置经纬度值。

 

周边地名查询,列表给出地图中心周边两公里范围内的所有地名,并按拼音顺序排列(便于搜索定位)。如图: 

 

 

选择一项,确认后,将在地图上标注选择项的位置所在,对于查找公园、停车场、加油站、商场、旅店甚至厕所等位置提供方便。如图:

  

综上所述,在手机上使用离线地图服务,不必支付网络上的任何费用,不用担心流量,没有阻塞,流畅体验,精确定位,可以获得所有地图服务带来的好处。

 

6、形成自己的常用地图册

离线地图GPS定位是一款工具软件。可以打开不同的区域地图,在全世界任何地方都可以使用,因此,制作自己的常用地图册,对于未来的旅行等是十分有利的。再加之现在的SD卡,不仅容量大,价格也比较便宜,适合于存储大数据量的地图文件。手机换卡也比较容易,SD卡的重量可以忽略不计,因此,把各地区的地图文件分门别类地存储到各个SD卡上非常适合旅游出行的。在不同地区可以切换使用不同的地图。

在制作地图时,应该注意的是适当限制地图的类型,一般道路交通图和卫星道路图两种类型据足够了。但是对于探险、穿越等野外作业,可能需要地形地貌图来参照标高。卫星图在缩放比例大于12时,与道路卫星图相同,因此没有必要重复。

另一个方面就是选择适当的缩放比例,每一级缩放都比前一级增加二倍。相应的地图尺寸翻四倍,因此,数据量大增长是惊人的,适当选择缩放比例,够用就行,不必追求最大。

制作地图还需要考虑误差精度问题(地图上的坐标与实际坐标的偏差),这是地图绘制时自带的,在本系统中可以用误差校正方式消除地图精度偏差带来的GPS定位误差,达到精确定位的目的。制作地图的工具程序可以对已经生成的地图进行误差校正。手机程序也可以随时对地图进行误差校正,因此,在制作地图时,不需要到当地,而在使用时在当地校正地图误差即可,校正误差是写回到地图数据中的,因此,只需校正一次即可。

 

可以在下列地址连接下载各城市的地图文件,注意,地图文件按比较大。

 

 北京市地图:http://www.vdisk.cn/down/index/8948646A5496

上海市地图:http://www.vdisk.cn/down/index/8952749A5140

        广州市地图:http://www.vdisk.cn/down/index/8957901A2874
        深圳市地图:http://www.vdisk.cn/down/index/8962485A8460
        香港地图:http://www.vdisk.cn/down/index/8962548A6315
        澳门地图:http://www.vdisk.cn/down/index/8963039A2051
        台北市地图:http://www.vdisk.cn/down/index/8968056A1908

        长春市地图:http://www.vdisk.cn/down/index/8972377A2889
        长沙市地图:http://www.vdisk.cn/down/index/8972378A4531
 

注意事项:

      在老版本地图上,最小缩放比率下,地图尺寸为768X768。当手机屏幕显示尺寸大于512X512时,打开的地图在屏幕中心显示512X512范围。新版的地图最小尺寸为1280X1280因此能够适合一般手机屏幕的全屏显示。

      WindowsMobile手机上,本系统支持方向键移动地图,可以选择移动步长,达到精确移动(一个像素)。在AndroidOphone下则不支持键盘移动。

      在没有GPS设备的手机上,GPS功能不能打开,所有与GPS相关的功能都不可用。对于WindowsMobile系统,指南针功能也与GPS相关,因此也不能使用。误差校正需要GPS定位设备,因此,对于没有GPS设备的手机,误差校正功能也不能打开。

      对于没有方向传感器的手机(Android/Ophone系统),指南针功能不能打开。

 

ch2zh1@tom.com

 

阅读更多
个人分类: delphi 软件编程
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭