基于GoogleMap API的手机公交路线查询系统开发
2013-08-15黑龙江刘爽
黑龙江 刘爽
引言
基于网络的公交线路查询系统可以很好的弥补人工查询的不足,具有其存在的先天优势和合理性。随着移动网络通讯应用的日益扩展,基于网络的公交查询系统必然有其存在的空间。
建立在手机软件查询的基础上,可以使查询公交站点方便快捷,而且可视化,能够让用户足不出户就可以确定行程路线,也可以在用户换乘公交时起到很大的帮助作用。本软件是基于Google Map API,能提供地图查询,在地图上寻找你想乘坐的公交路线,从而会显示各个站点的信息,根据相关信息获取换乘路线,以及目的地的位置,还可以根据GPS导航定位自己当前的位置,对于公交路线查询即明了又快捷。利用Google地图的可视性,使你安全准确的到达目的地。随着iphone手机的使用人数的增多,对于这种公交查询的软件的需求也会增多,所以本项目的目的是开发一款在iphone手机上运行的公交路线查询软件,从而满足人们对公交查询的需求。
1 系统总体设计
高系统的一个缩例,本模块的项目系统模块。系统目标在于为广大乘客提供最新公交信息和公交查询信息的同时,还为公交管理者提供简单、实用的后台管理平台。采用安全可靠的现代化处理和控制技术,及时准确、可靠地更新公交信息,建立完备、便捷的公交查询系统。
1.1 GPS定位模块
本模块是利用GPS模块定位当前位置,用一个图标在地图中显示当前用户的位置,这是GPS导航系统的一个缩例,本模块应用以后可以加入导航模块。
1.2 公交路线查询模块
本模块是为用户提供公交路线列表的功能块。本模块分为两个小模块,分别为:公交路线列表和列表索引栏,通过列表可以展现给用户哈尔滨公交路线的所有线路,索引栏是帮助用户快速的找到想要得到的公交路线。
2 系统详细设计及实现
2.1 GPS定位模块的功能实现
定位的机制有三种,分别为手机GPS模块卫星定位,手机基站定位,依赖Wi-Fi网络进行定位。三种方式都可以定位用户的位置,但三种方式都有自己的弊端,适用于不同的情况。GPS模块卫星定位需要GPS接收器、直接对准卫星,所以室内是无法进行定位的。手机基站定位,它相对于GPS接收器来说定位的位置不是很准确,准确度取决于该地区内手机基站的数量。而Wi-Fi网络定位通过检查服务提供商的数据确定位置,它既不依赖卫星,又不需要手机基站,因此,这种方法是对于可以连接Wi-Fi网络的区域有效,但这种方式是最为模糊的定位的方式。在iphone的定位开发中,苹果公司提供了定位框架,以帮助用户来确定当前的物理地址,这个框架的美妙之处就是他使用了以上的三种方式,通过用户不同的情况下分析当前的位置进行定位。
本模块的设计,利用MapKit框架中的定位库函数进行定位,利用iphone开发中提供的定位框架得到自己目前位置的经纬度,根据经纬度在地图上标注自己的位置。
2.2 公交路线列表模块的功能实现
公交路线列表的LabelView是Xcode中的UIKit框架的部件,其部件可以设置为可上拉和不可以上拉两种方式,如果设置成不可上拉,则用鼠标点击就无法上下拖动列表。由于本系统的公交路线多,所以要实现显示所有公交路线就必须选择可以拖动式列表。列表的形成需要知道列表的数量及其内容的数组,以便于初始化列表。所以我们通过检索数据库Routes表中的内容得到公交路线的数量,并把他们的内容存放在一个数组中,在用户点击功能按钮时就完成了列表的初始化。
2.3 列表索引模块的功能实现
列表索引模块主要用于帮助用户快速查询公交线路,为用户节省时间,方便用户的操作。索引模块的应用是为了用户麻烦的拖动列表,这样省去了用户的操作,只需输入相应的内容,就可以快速的找到自己想要的,方便、快捷、智能,这就是列表索引的功能所在。列表索引的设计是由一个搜索栏输入相应站点的数字进行搜索显示公交路线,通过用户输入公交线路来重新初始化列表,改变列表的内容,根据输入的内容,函数重新检索Routes表,重新显示列表的内容。
索引栏实现的是由一个TableView及一个搜索的Button组成的,当用户使用时,再结合下面LabelView通过函数的控制来检索数据库得到相应的内容,TableView是用来输入想要搜索的内容,输入方式是用iphone本机自己带的软键盘,在mac模拟器上也可以通过电脑的数字键盘进行输入。当用户输入时列表的内容就会相应的随之改变,达到索引的效果。
3 结论
本文提出并实现基于GoogleMap API的iphone导航应用软件,能够提供给人们手机智能化交通的地图导航服务。基于网络的公交线路查询系统可以很好的弥补人工查询的不足,具有其存在的先天优势和合理性。随着移动网络通讯应用的日益扩展,基于网络的公交查询系统必然有其存在的空间。
[1]张永梅,韩焱.城市公交查询系统的研究与设计[J].计算机应用,2(25),2005,423-425.
[2]刘光明,蔡先华.一种城市公交查询的算法及其应用[J].交通运输工程与信息学报,2005,3(2),87-91.
[3]王炜.城市交通管理规划方案设计技术[J].交通运输工程报,2003,(2),5-17.
[4]Dava Mark,Jeff LaMarche.iPhone开发基础教程.人民邮电出版社,2009.P 63-166.
[5]Stephen G,Kochan.Programming in Objective-C 2.0.Addison-Wesley Professional.2009.P 1-221.
[6]Googlemap_API教程.2011.P 251-288.