谭家龙
摘 要:随着计算机科学技术和地理信息系统以及全球定位系统(GPS)的发展,产生了一门新的应用——电子地图。本文主要介绍了Ios电子地图的功能模块及其实现方法。该地图具有操作简单,能进行路径规划,反馈实时路况的特点。
关键词:Ios;路径规划;地图查询
1 引言
从最初用于军事和国家重要利益的民用领域,到现在与老百姓息息相关的生活中,电子地图突飞猛进发展的同时,也将应用范围扩展到了生活的每个角落。本文将描述Ios电子地图的实现方法,并应用到交通系统中。
2 模块的分析与设计
2.1 需求分析
本系统的目标就是将电子地图应用到交通系统当中,在电子地图上进行应用开发,提供可视化的人机交互界面,主要围绕以下几点进行展开:(1)地图控制:能够对地图进行转移、放大、缩小以及添加图层。(2)自我定位:能够通过手机的GPS设备进行实时定位并在地图上标注出来,让用户得到准确而实时的位置信息。(3)地点搜索:根据输入字符串进行地点匹配。(4)路径规划:通过起点和终点位置进行路径选择,并提供公交和自驾两种模式。(5)实时路况:通过视频或者表格方式了解某路段的实时路况信息。(6)附近搜索:能够搜索当前位置附近的公园、学校及医院等服务信息。(7)操作简单:功能尽量简单易懂、易操作。
2.2 系统功能模块
按照系统需求,将系统划分成5个功能模块,每个模块实现的功能如下所述:(1)自我定位:利用GPS提供的定位服务,确定用户所在城市、街道的位置信息,并将具体位置信息在电子地图界面向用户进行展示。(2)地点搜索:通过地址解析功能解析用户输入的城市名或其他详细地址信息,向用户展示所查地址在电子地图的详细方位,进行地图转移。(3)路径规划:通过位置搜索功能或是地图点击方式来获取起点及终点的位置信息,并且由用户手动选择路线的行驶方式(公交行驶或者是自驾行驶);最终在电子地图上绘制出起点到终点的最佳路径,供用户查看。(4)实时路况:通过地图点击功能获取用户所查某一路段的详细地址,并向用户展示出该路段的实时路况视频或者该道路的车辆密度状况,由用户选择自我出行线路,有助于减少道路拥塞情况。(5)附近搜索:当用户忘记或者不清楚所去目的地的详细地址时,可通过该模块搜索附近的公园、学校和医院等服务类信息,有效地提高用户的出行效率。
3 模块的实现过程
3.1 界面设计
在Ios平台的应用开发中,界面的设计是核心问题,界面不仅是人机交互的接口,还能影响用户对整个应用程序的使用情况。本系统设计了4个界面:地图服务界面、路径规划界面、实时路况视频界面和实时路况表格界面。
(1)地图服务界面:地图服务界面需要一张电子地图界面和一个“自我定位”按钮,电子地图界面用来实现地图显示功能,而“自动定位”按钮控制监听事件的开关。另外在菜单选择项中添加4个子功能选项,有:“地点搜索”、“路径规划”、“实时路况”、“附近搜索”。
位置搜索与设计地点搜索需要两个下拉列表、一个文本输入框和两个按钮。其中两个下拉列表用来存储省级和省级对应的各个市级名称,属于市级以上地址获取方式;一个文本输入框让用户输入某地址的详细信息,属于市级以下的地址信息获取方式,文本输入框和下拉列表的作用是等同的,一个是属于市级以上的地址搜索,一个是市级以上的地址搜索,也可以都输入;两个按钮一个是用来保证搜索的顺利进行,另一个是取消本次的操作,退出位置搜索模块。
(2)路径规划界面:路径规划界面需要两个文本输入框,两个图片按钮和三个普通按钮。两个文本输入框一个是用来获取起点地址,另外一个是用来获取终点地址(该地址主要指字符串地址);两个图片按钮主要是用来响应地图点击的方式获取起点或者终点位置的经纬度信息;三个普通按钮,其中两个是代表路线的驾驶模式(是公交行驶还是自驾行驶),另外一个按钮是路径规划功能的正常运行并判断所获数据是否完整。
(3)实时路况视频界面:实时路况视频界面比较简单,通过Ios的基本视频播放界面让用户观看实时的视频路况,主要有播放、暂停两个功能。
(4)实时路况表格界面:实时路况表格界面需要一个2维度的表格视图。其中横坐标代表的是时间,五个时间点代表了半个小时以内的时间段;纵坐标表示的交通车流密度,分为四个等级:顺畅、正常、拥挤、阻塞;界面标题为该段的道路名称。
3.2 定位模块设计
自我定位模块主要是通过GPS设备获得位置信息并在电子地图上向用户展示。该定位功能是通过定位按钮手动开启及关闭的,在手动定位之前需要确保GPS设备是否开启,防止定位时无法从GPS设备中获得位置信息。定位按钮被点击后,对监听事件是否存在进行判断,如果监听事件存在,则表示该点击目的是关闭监听事件;如果没有监听事件存在,则表示该点击目的是创建一个监听事件,需要设置监听参数,打开GPS设备,最后在电子地图上实现定位功能。
3.3 位置搜索模块设计
位置搜索模块主要通过手机输入界面获得用户所需查询的地址信息,再通过相关方法将字符串地址转换为经纬度地址坐标,在电子地图上进行位置转移。该模块是通过位置搜索界面获得用户搜索的地址信息,接着再对输入地址信息进行判断,如果所查地址信息是省或市级以上地址,则到本地数据中查找相关经纬度信息并实现地图转移功能;如果所查地址信息比较详细属于市级以下地址,则需要进行地址解析,将字符串地址转为经纬度地址供用户选择,待用户选择地址后实现地图转移功能。
3.4 路径规划模块设计
路径规划模块提供了两种输入方式:地图点击与文本输入,接着利用输入的起点和终点坐标来估算出最佳路径并在电子地图上进行显示。该模块的输入部分可分为两种,地图点击和文本输入。其中,地图点击是从当前地图上直接获得起点和终点经纬度坐标,而文本输入是利用相关方法将输入的字符串地址解析成相应的经纬度坐标;最后当起点和终点信息被确认完整后,计算出最佳路径并在电子地图上显示路径信息。
3.5 实时路况模块设计
实时路况模块主要通过从服务器获取相应路段的路况视频地址和实时路况数据向用户展示该路段的实时路况视频或者是车辆密度信息,让用户精确地了解到该路段的实时状况并做出明确的选择,减少交通拥塞情况。通过点击地图的方式能获取到目标路段信息,接着将路名与本地数据库数据进行匹配;若匹配未成功,则只能与附近的路段进行范围匹配,找出最合适的摄像机获得实时路况信息;若匹配成功,让用户选择数据接收方式,若是视频播放数据,则返回相应的视频接口地址,若是表格数据,则返回相应的车辆密度信息;最后通过视频或者表格的方式向用户展示实时路况信息。
3.6 附近搜索模块设计
附近搜索模块主要根据用户不同的搜索类型开始搜索。该模块提供了医院、公园、学校三种服务类型供用户查询,用户只能搜索当前位置4公里(以球面距离计算)以内的服务信息,搜索到信息后由用户选择,待用户选择后在电子地图上绘制出的路径信息。
该模块提供了三种服务类型:医院、公园和学校。首先用户要选择需要的服务类型,其次到数据库中查找相应服务类型的所有位置信息,利用球面距离公式计算出当前位置与所查位置之间的空间距离,删选出有效信息让用户选择出最理想、最合适的地点;最后由电子地图绘制出相应的路径信息。
4 结束语
本文是基于Ios手机的电子地图的应用开发,基本能实现便捷交通、方便用户出行的目的,有一定的实用性和先进性。但是本系统还存在一些不足之处,比如自动定位的精度有待提高,系统的扩充性有待加强,随着后续工作的进行,我相信一定可以完善的更好。
[参考文献]
[1]张彩霞,高颖.iPhone开发秘籍(第2版)[J].北京:人民邮电出版社, 2010.
[2]漆振.iPhone开发实战[J].北京:人民邮电出版社,2009.
[3]Bill Dudney.iPhone SDK3开发指南[J].北京:电子工业出版社, 2010.