交公路线查询系统--本科毕业设计.doc
《交公路线查询系统--本科毕业设计.doc》由会员分享,可在线阅读,更多相关《交公路线查询系统--本科毕业设计.doc(30页珍藏版)》请在咨信网上搜索。
公交路线查询系统 公交路线查询系统 学生姓名:xxx 指导老师:xxx 所在院系:xxx 所学专业:xxx 研究方向:xxx xxx 大 学 xxx年xxx月 IV Bus line inquiry system Name: xxx Tutor: xxx College: xxx Major: xxx Direction: xxx xxx University May xxx 摘 要 随着人类社会的发展,信息化时代的到来,人们生活质量的不断提高,城市间的往来更加频繁,导航已成为生活中不可缺少的一部分。但导航仪不是最佳选择,导航仪造价昂贵,又不方便携带。然而,手机却已经成为人们日常生活中不可缺少的工具,智能手机是人们最为期待的对象,从单一的通信到互联网的时代。iphone更是现在社会追逐的新潮,华丽的外表,高端的操作系统,五花八门的应用软件,成为当代的潮流。 经由上述的分析,本文提出并实现基于GoogleMap API的iphone导航应用软件,能够提供给人们手机智能化交通的地图导航服务。课题针对于ios的深入研究分析的基础上,基于GoogleMap API for ios开发一款iphone上的地图应用软件。运用数据库解析xml的内容,运用xcode开发环境,由于数据量大,本软件只有客户端可视化模块,针对需求,主要实现如下功能:哈尔滨公交路线的查询,各个站点在地图上的显示,GSP地位功能等。针对前台模块的设计,已基本上实现其主要功能。 关键字: GoogleMap; xcode; ios; 地图导航 Bus line inquiry system Abstract With the development of human society, the era of information technology, quality of life continue to improve, more frequent exchanges between cities, the navigation has become an indispensable part of life. However, the navigator is not the best choice for navigation systems are expensive and inconvenient to carry. However, the phone has become an indispensable tool in daily life, and smart phones is that people are most looking forward to object to the era of the Internet from a single communication. iphone is now chasing fashion, gorgeous appearance, high-end operating system, a wide variety of applications, a contemporary trend. Through the above analysis, this paper presents and map navigation services based on GoogleMap API iphone navigation application, providing people with mobile intelligent traffic. Topics for in-depth research and analysis in ios based on based on GoogleMap API for ios-to develop a iphone map application software. Use of the contents of the database parse the xml, use the xcode development environment, large volumes of data, the software only client visualization module for demand, mainly the following functions: Harbin bus route queries, each site displayed on the map and GSP status function. For the design of the front module has basically achieved its primary function. Keywords: GoogleMap; xcode; ios; map navigation 目 录 摘 要 I Abstract II 1前言 1 1.1 项目研发背景 1 1.2 项目研发目的 1 1.3 项目研发内容 2 2 哈尔滨公交路线查询系统的开发分析 3 2.1 问题定义 3 2.2 可行性分析 3 2.2.1 技术可行性分析 3 2.2.2 操作可行性分析 3 2.2.3 经济可行性分析 3 2.2.4 社会环境可行性分析 4 2.3 功能需求分析 4 2.3.1 GPS地位模块: 4 2.3.2 公交路线列表: 4 3.总体设计 6 3.1系统目标的确定 6 3.2系统总体设计 6 3.2.1 项目系统模块图 6 3.2.2 数据流图(DFD) 7 3.2.3 项目系统流程图 7 3.3数据库设计 7 3.4数据库的选用 9 4.公交路线查询系统详细设计及实现 10 4.1主界面的功能实现 10 4.2 GPS定位模块的功能实现 11 4.3公交路线查询模块的功能实现 13 4.3.1 公交路线列表模块的功能实现 13 4.3.2 列表索引模块的功能实现 14 4.3.3 公交站点显示模块的功能实现 15 4.3.4 公交路线显示模块的功能实现 16 4.3.5后台数据库 19 4.4说明模块功能实现 19 5 结论 22 参考文献 23 致谢 24 1前言 1.1 项目研发背景 在信息化的时代,人们已经热衷于从互联网查找自己需要的信息,这一快捷、省时、省力的方式已服务于社会的各方面与各群体,互联网已成为人们生活中不可缺少的一部分。由于缺少及时高效的实时路线查询服务,人们出行仍是口头询问和地图查询,尤其是刚刚来到一个陌生的城市,往往得不到最准确的路线信息,这给人们带来了许多烦恼。公交已成为现代都市的主要交通工具,与人们生活息息相关,无论是工作、学习、探亲、旅游,公交车都已经是现代化城市的象征。所以说对于公交路线的查询是与生活息息相关的事情,尤其是旅游,到达一个陌生的城市,最主要的是知道公交路线图。虽然现在有很多的公交路线电话查询服务平台,但由于这种服务耗费人力大,实时性差,而且还无法满足人们的需求。互联网查询平台,由于便携式电脑的携带查询不是很方便,也无法满足人们的需求。 移动终端的智能化已成为21世纪的信息化,互联网化的标志,手机已不再只是为了通讯的产物了,手机正在日常生活中逐渐充当着重要角色。从通讯手机到音乐手机,现在又逐步走向智能化,网络化时代。智能化手机已成为人们对移动通讯设备的最主要的需求,在不久的将来,智能手机占据整个市场。智能手机软件也成为人们生活中消费的产品,手机软件对于人们来说不可或缺的部分。智能手机也已经和人们的生活息息相关,智能手机的功能越来越加强大,从而逐步替代便携式电脑。人们对于他们的功能的需求也日益增长,无论是学习,生活,工作,娱乐,手机都是人们最好的设备。 Iphone,近两年来一个响亮的名字,给手机带来了一个新的时代,一个集通讯、试听、上网装置于一体的智能手机,首次引进了多点触控的理念,把手机市场重新推向了高峰。对于现在社会,iphone是人们生活的一种标志,一种高质量生活的品牌,随着iphone一代一代的替换,这款手机已经风靡全球,已成为智能手机的里程碑。 1.2 项目研发目的 在前面提到了,人工的公交路线电话查询方式,存在着工作容易失误,耗费人力、财力巨大,查询的失误率高等缺点,无法满足人们对公交路线的查询。电脑查询虽然提高了准确性,以及提高了对路线查询的准确性,人力财力的消耗性减小,但还存在这电脑无法便携,实际操作性差。本项目提出,利用手机互联网的信息共享和告诉通信的优势以及轻巧,便携等特点较好的解决公交路线的查询问题。 手机查询可以很好地解决人工查询的先天缺陷。 1.手机软件查询使用文字输入,可以避免语音理解所造成的查询出错。 2.手机软件查询准确无误,只要算法和程序设计正确,则用手机软件查询出错的几率几乎为零。 3.手机软件查询耗费的人力财力少,重复枯燥的工作都交由手机来完成。 4. 手机软件可以安装在手机上,查询方便快捷。 所以,基于网络的公交线路查询系统可以很好的弥补人工查询的不足,具有其存在的先天优势和合理性。随着移动网络通讯应用的日益扩展,基于网络的公交查询系统必然有其存在的空间。 建立在手机软件查询的基础上,可以使查询公交站点方便快捷,而且可视化,能够让你足不出户就可以确定行程路线,也可以在你换乘公交时起到很大的帮助。 本软件是基于GoogleMap API,能提供地图查询,在地图上寻找你想乘坐的公交路线,从而会显示各个站点的信息,根据相关信息知道换乘路线,以及目的地的位置,还可以根据GPS导航定位自己当前的位置,对于公交路线查询即明了又快捷。利用Google地图的可视性,使你安全准确的到达目的地。 随着iphone手机的使用人数的增多,对于这种公交查询的软件的需求也会增多,所以本项目的目的是开发一款在iphone手机上运行的公交路线查询软件,从而满足人们对公交查询的需求。 1.3 项目研发内容 本系统由两个模块:查询模块和后台数据库模块,查询模块是本系统的核心, 实现了本系统的主要功能。 查询模块包括:具体公交线路查询,哈尔滨公交车列表,地图显示,在地图上站点显示,在地图上显示公交路线图等,还添加了手动搜索,快速找到想要查询的公交路线,方便快捷,省时省力的操作,可视化的效果,收手机成为你的手上地图。 后台数据库模块主要针对维护人员,及时更新公交线路发生的变化,即修改数据库中的表,保证用户查询到的信息是最新的,由于数据量大,本项目只做了关于哈尔滨公交路线的查询,对其站点,所经路线的经纬度进行了统计,作为整个系统的数据库,其数据库主要包括:公交路线表、站台表、路线表。 在本系统中的设计中,使用了时下较为流行的网站开发工具xcode,基于GoogleMap的API ,利用谷歌地图提供的API实现公交路线的可视化,开发一款可以在iphone运行的地图软件,数据库采用sqlite3,数据库包括三个表:公交路线表,线路对应的站点的坐标表、线路所经过的路线的坐标表。在数据库中解析各个公交路线的站点的坐标,根据数据库的检索,完成线路表的检索,根据线路表的检索完成站点的数据检索,从而得到路线图,并在Google地图上划出相应的路线来。本系统是MVC模式来进行视图与模式的控制,从而控制数据的检索,也可以通过网络的数据检索,但由于Google的检索数据有访问权限,所以只能通过数据库的建立来得到坐标的经纬度。 在下面的介绍中,将详细介绍哈尔滨公交路线查询系统的开发过程,同时,阐述开发过程中所涉及到的问题及解决方法。由于技术水平有限,经济有限,该软件只能在mac模拟器上运行,有些功能还无法实现,系统中还可能存在我没有发现或意识到问题,敬请老师多多批评。 2 哈尔滨公交路线查询系统的开发分析 2.1 问题定义 长期以来, 交通路线的问题一直困扰着人们的生活,公交车和人们的生活息息相关无论是上班学习,还是外出旅游都离不开他,公交车成为当代社会不可或缺的交通工具。由于公交车的线路增加,各个公交站错综复杂,给日常生活已带来不便。 哈尔滨是个省会城市,客流量非常大的城市,公交车就更是不可或缺的工具,公交路线的查询也成为人们日常时候习以为常的事情,传统的路线查询方式是买一张地图,在上面进行查找,显然对于21世纪信息化时代这种现象是不符的。现在提供了人工查询平台,人工查询的出现显然告别了我们每人手拎一张地图的时代,但电话查询平台,费时费力,最主要的是错误率太高,无法满足人们的需求。 现在是信息化时代,是互联网的时代,网络已和大家密不可分,网络的存在已经成为大家沟通交流的平台,3G的加入更是使得互联网横行。所以公交路线的查询就行该交给处理器去处理,而不是耗费大量人力财力。本项目提出了只能交通的概念,虽然有一些功能在本项目中无法实现,但智能交通的时代是真正的信息化时代,虽然哈尔滨还没有实施研究,南方大多数城市应经提出并开始研究。本项目是哈尔滨公交路线查询系统,从而解决人们日常生活中的公交路线查询问题。 2.2 可行性分析 2.2.1 技术可行性分析 本系统采用的是GoogleMap API、xcode 、sqlite3数据库相结合的方法,将所有收集的数据信息按其属性分类存储到数据库中,再通过程序调用这些数据信息实现各种查询公交线路,即所谓的"程序设计数据化,数据管理程序化"思想。 基于这种思想的查询系统的理论及技术也日趋成熟,另外ios的开发对于中国市场有很大的前景,只要有一台mac,就可以运行开发这种软件,GoogleMap也提供了相应的API,而且免费,对于习惯了使用谷歌地图的人们来说,操作更加方便。 所以本系统在技术上是绝对可行的。而且随着iphone的流行也大大的提高了这款软件的实时操作性。 2.2.2 操作可行性分析 本系统界面美观明了,提供的通俗易懂的文字提示,而且操作容易,用户只要懂得初步的手机软件的操作即可,还支持多点触控,可以随意的放大和缩小地图,方便快捷。 2.2.3 经济可行性分析 从成本上看来,开发及维护系统所需的就是一天苹果的电脑,安装一些能够应用软件,注册一个开发者账号,只是数据采集时会浪费大部分的人力,所以本系统只对于哈尔滨公交路线查询。 从收益来看:本系统作为公交线路查询的应用,是带有实验性、贡献性的。也可以上传至AppStore上进行审核,从而创造效益。也可以是免费下载。注重以后的潜在发展,是在概念上、形象上的不断升值。 2.2.4 社会环境可行性分析 如今城市生活的节奏日益加快,公交线路也不断增多,使得交通的便捷性难上加难,给出行人员选择出行乘车线路造成一定的困扰,哈尔滨黑龙江的省会,中国东北部的政治、经济、文化中心,人口居全国城市的第二大城市,出行已经越来越重要了,特别是来哈尔滨旅游的游客,游客在乘公交车时选择线路比较困难,它不仅可以给哈尔滨市民、游客的乘车提供向导,同时可以对外展现哈尔滨的现代风貌,体现出一个城市公交信息数字化和信息化的发展水平。再加上ios软件开发的火热势头,所以本系统无论从公益性、效益性都拥有非常成熟的市场及发展前景。 2.3 功能需求分析 本系统通过设计研究,采用是可视化结构,方便操作,运用的是MVC的模式结构,方便、灵巧,对是使用过手机软件的用户来说,很容易操作。本系统共分为五大功能块:GPS定位模块,公交路线列表,地图的显示模块,后台数据库,设置模块(部分功能实现)。 功能模块介绍: 2.3.1 GPS地位模块: 本模块针对于有GPS模块的手机而设计的模块,根据GPS的基站信息,定位自己当前的位置,对于人们导航有很大的作用,根据地图可以很快的找到自己的位置和自己想要到达的目的地,对于外出旅游的人更是最佳的选择。由于模拟器没有GPS模块,只能模拟,功能已经实现。 2.3.2 公交路线列表: 本模块也叫做公交线路一览表,是所有公交路线的集合,本系统不提供输入,只提供索引,是用户可以不用输入就可以得到想要找到的公交路线,免去了由于环境的原因无法输入的问题。本模块连接着主界面,也就是地图可是界面,当选中想要查询的路线后点击就会跳转到主视界面,看到自己想要的路线图。 2.3.3地图显示模块: 本模块是是本系统的主界面,也是地图的显示界面,由两个部分组成,由导航栏和地图显示界面组成。导航栏是由三个连接按钮组成,其功能是分别连接GPS定位模块,公交路线列表及说明模块。地图显示界面是整个哈尔滨的全貌地图,支持多点触控,放大缩小等。可以给用户提供哈尔滨的轮廓,让用户有一种一览无余的感觉。 2.3.4数据库模块: 数据库模块就是本系统的数据提供模块,本系统支持c/s模式提供数据,也可以通过后台数据库实现两种方式。本次开发是以后天数据库开发的,数据库提供公交线路现实的所有数据,公交路线,路线的站点经纬度,站点间连接的经纬度等,本数据库共有三个表分别为,公交线路表,公交站点表,站点坐标表。各个表互相联系提供了整个系统的数据检索。 2.3.5说明模块: 本模块对整个系统做一个阐述说明,功能以及整个系统的背景介绍,也可以设置地图中你在路线图中的位置,根据指示,找到相应的公交站点。 3.总体设计 3.1系统目标的确定 系统目标在于为广大乘客提供最新公交信息和公交查询信息的同时,还为公交管理者供简单、实用的后台管理平台。采用安全可靠的现代化处理和控制技术,及时准确、可靠地更新公交信息,建立完备、便捷的公交查询系统。 1. 公交路线查询模块:用户进入系统后,点击导航栏中的公交路线查询按钮,视图跳转到公交路线查询列表,用户可以直接下拉列表找到想要的公交路线,点击路线名就可以得到公交路线图,这样就可以得到这条路线的相关信息如:经过的站点,站点周围的显著的建筑,交通的路线,通过地图找到可以去哪个站点乘车。 2. GPS定位模块:用户进入系统后,点击导航栏中的GPS定位按钮,你就可以看到你在整个哈尔滨的地图上的位置,这样你就可以得到自己想要得到的信息:想要到达的标志性建筑物,去哪条街,哪条路等等。 3. 地图显示模块:本模块是整个系统的主视图,进入的主要视图界面,其余模块都是围绕着整个视图而展开的,当用户进入时会给用户呈现整个哈尔滨的全貌,既平面图 ,让人们了解一下整个哈尔滨的划分情况,道路,河流等等。 3.2系统总体设计 3.2.1 项目系统模块图 图3-1 项目系统模块图 GPS定位模块:本模块是利用GPS模块定位当前位置,用一个图标在地图中显示当前用户的位置,这是GPS导航的系统的一个缩例,本模块的应用以后可以加入导航模块。 公交路线查询模块,本模块是为用户提供公交路线列表的功能块。本模块分为两个小模块,分别为:公交路线列表和列表索引栏,通过列表可以展现给用户哈尔滨公交路线的所有线路,索引栏是帮助用户快速的找到想要得到的公交路线。 主视图模块:本模块负责整个系统的显示功能。本模块也分为两个模块:用户导航模块和地图显示模块,主视图是所有的功能的显示模块,是所有模块的实现部分,显示个人的位置,显示公交路线等。 3.2.2 数据流图(DFD) 用户查询的DFD,如图3-2:用户输入信息,系统处理查询信息,系统获得信息内容后,向数据库搜索查询信息,将查询的结果显示到显示界面上。 图3-2 数据流图 3.2.3 项目系统流程图 在ios模拟器环境中的该项目完成品最终是以用户界面体现运行程序,将用户想要查询的信息从数据库中查找、匹配然后通过语言界面输出,并从空间数据库中读出地图显示。但对其运行后的结果不能进行查找和增加、删减等操作,只能由后台管理员在指定的界面操作或直接对数据库编辑。 图3-3 项目系统流程图 3.3数据库设计 系统方案进行设计.它是系统的整体解决方案。其目标为:建立包括公交线路属性数据库、公交站点属性数据库等公交信息所必需的数据库:建立包括公交线路空间数据库、公交站点空间数据库等公交信息所必需的后台数据库:建立基于GoogleMap的公交线路软件的查询系统,使出行人员可有重点地查询公交路线相关信息。本数据库共包括三个表,分别为:公交路线表:Routes table,公交路线的站点经纬度表:Stations table,公交所经路线的经纬度表:RoutePoints table。 下面分别介绍一下表的结构: (1)公交路线表Routes: 公交路线表Routes用来保存哈尔滨所有的公交路线,结构如下表所示 表3-4 公交路线表Routes 编号 字段名称 数据类型 说明 1 id int ID号 2 Name varchar(50) 公交路线名称 3 Way Bit 是否完成 (2)公交路线的站点经纬度表Stations: 公交路线的站点经纬度表Stations用来保存公交站点的经纬度 表3-5 公交路线的站点经纬度表Stations 编号 字段名称 数据类型 说明 1 id int ID号 2 Lat decimal 公交站点的纬度 3 4 5 Lng Name RoutID decimal varchar(50) int 公交站点的经度 站点名称 公交路线 (3)公交所经路线的经纬度表RoutePoints: 公交所经路线的经纬度表RoutePoints用来保存公交经过路线的经纬度 表3-6 公交所经路线的经纬度表RoutePoints 编号 字段名称 数据类型 说明 1 id int ID号 2 Lat decimal 公交站点的纬度 3 4 5 Lng Index RoutID decimal int int 公交站点的经度 站点名称 公交路线 3.4数据库的选用 本数据采取的数据存储工具是SQLite,是一种小型的数据库存储工具,用于存储公交路线查询所需的数据,是整个系统后台的服务。 SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月. 至今已经有10个年头,SQLite也迎来了一个版本 SQLite 3已经发布。 4.公交路线查询系统详细设计及实现 4.1主界面的功能实现 公交路线显示界面是本系统的主界面,是用户运行本系统的开始界面,本界面提供了整个系统的功能的显示,主界面也就是用户登录界面,本系统无需账户注册,运行就可以使用。本功能块的设计,主界面要体现出本系统的所有功能块,所以功能块的设计要与其他功能块相互联系。 这里我们模拟用户运行系统,操作流程图如图4-1。 进入主界面 GPS定位功能 公交路线插询列表 跳回主界面进行显示 图4-1系统查询显示显示流程图 本系统的UI是用Interface Builder图形化工具生成,再由功能函数控制图形界面的思想,并完成程序的图形界面。 Interface Builder简称IB,是用于美国苹果公司Mac OS X系统开发的软件开发程序,是Xcode套件的一部分。Cocoa开发者可以使用Interface Builder来开发和修改应用程序的图形用户界面,其数据以XML的形式存储在.xib文件中。Xcode被收购前是存储在.nib中。 功能模块的实现: 主界面的设计,主界面的功能是为了提供给用户哈尔滨的全貌和其他功能的显示功能。所以用户登录界面为哈尔滨的全貌,并提供功能导航栏,说明本系统的所有功能。主界面两个部分,哈尔滨的全貌显示及功能栏。 哈尔滨全貌的显示,根据Xcode的函数库,找到Mapkit框架,Mapkit框架中显示地图的功能函数,要找到哈尔滨的位置就要找到哈尔滨的经纬度,以哈尔滨的经纬度为中心,进行比例显示就会呈现给大家哈尔滨的全貌地图。找到哈尔滨的经纬度后,设置其显示比例,经过视觉的调试,在最终完成哈尔滨的全貌显示。本模块的界面是IB中的mapview界面,利用函数的结合控制,达到视图的效果。 实现控制视图的主要代码如下: MKCoordinateRegion jorinRegion = theMapView.region; CLLocationCoordinate2D jorinLocationCoordinate; jorinLocationCoordinate.latitude = 45.75075599455506; jorinLocationCoordinate.longitude = 126.62567138671875; jorinRegion.center = jorinLocationCoordinate; jorinRegion.span.latitudeDelta = jorinRegion.span.latitudeDelta*0.00049; jorinRegion.span.longitudeDelta = jorinRegion.span.longitudeDelta*0.00049; [theMapView setRegion:jorinRegion animated:YES]; 功能栏的设计,本功能栏与iphone常规应用的功能栏相似,为一个长条的label view,在其上面设计功能button,功能按钮采用IB的按钮,按钮上的图案为自己设计的,一共三个按钮,分别为GPS地位功能按钮,公交路线查询按钮,和软件说明按钮。三个按钮分别与其他视图相连,当点击时会产生跳转效果,采用的也是iphone应用中经典的跳转视图的效果。 图4-2 哈尔滨公交路线查询系统的主视图 4.2 GPS定位模块的功能实现 GPS定位已成为信息化时代的产物,GPS导航,各式各样的导航软件,各式各样的导航地图,GPS定位是GPS导航的基础,利用间隔时间的GPS定位的经纬度得到导航的路线。 定位的机制有三种,分别为手机GPS模块卫星定位,手机基站定位,依赖Wi-Fi网络进行定位。三种方式都可以定位用户的位置,但三种方式都有自己的弊端,适用于不同的情况。GPS模块卫星定位需要GPS接收器需要直接对准卫星,所以室内是无法进行定位的。手机基站定位,它相对于GPS接收器来说定位的位置不是很准确,准确度取决于该地区内手机基站的数量。而Wi-Fi网络定位通过检查服务提供商的数据确定位置,它既不依赖卫星,又不需要手机基站因此这种方法是对于可以连接Wi-Fi网络的区域有效,但这种方式是最为模糊的定位的方式。 在iphone的定位开发中,苹果公司提供了定位框架,以帮助你来确定当前的物理地址,这个框架的美妙之处就是他使用了以上的三种方式,通过用户不同的情况下分析当前的位置进行定位。 本模块的设计,利用MapKit框架中的定位库函数进行定位,利用iphone开发中提供的定位框架得到自己目前位置的经纬度,根据经纬度在地图上标注自己的位置。 定位模块的控制流程图,如图4-3。 图4-3 定位模块控制流程图 定位功能块是由主视图界面通过定位的功能按钮来在主视图是显示,本模块用到的Xcode中的“CoreLocation.h”,根据经纬度设置自己在地图中的位置,还要设定显示地图的比例,利用主视图中的功能按钮,完成事件的触发,从而实现定位功能。 定位功能的功能实现,如图4-4,因为本系统运行于mac 模拟器中所以定位的地方为苹果的总公司,移植到iphone手机时才会体现其定位效果。地图中的为用户的当前位置。 本模块主要实现代码: MKCoordinateRegion jorinRegion=theMapView.region; CLLocationCoordinate2D jorinLocationCoordinate=theMapView.userLocation.location.coordinate; jorinRegion.center=jorinLocationCoordinate; jorinRegion.span.latitudeDelta=0.0077999; jorinRegion.span.longitudeDelta=0.0110250; [theMapView setRegion:jorinRegion animated:YES]; 图4-4 定位功能实现 4.3公交路线查询模块的功能实现 公交路线查询模块是本系统最为主要的模块,他是整个系统的功能体现,公交路线查询模块包括很多小模块,分别为:公交路线列表功能块,索引模块,公交路线显示模块,站点显示模块,还有就是后台数据库检索模块。 用户查询公交路线时会通过主视图中的公交路线查询按钮来跳转到公交路线列表,列表是由哈尔滨的公交路线所组成,其内容包含线路名称及其起始站和终点站,用户查询时可以通过上面的索引列表进行查询,当用户点击公交路线名称时,视图就会跳转回主视图中显示公交路线,这样就完成了公交路线的查询。 下面详细介绍所有的功能模块的设计及实现: 4.3.1 公交路线列表模块的功能实现 公交路线列表功能模块,其视图为一个LabelView,而且为一个可以上拉、下拉的列表,其功能的实现是应用IB产生一个LabelView,并把他与相应的功能函数相连,列表初步形成。其显示的内容为功能函数在数据库中读取的内容,函数将读取的内容写到LabelView上,这样就得到了列表的内容。其实现过程如下图4-3-3: 图4-5 公交路线查询列表的实现过程 公交路线列表的LabelView是Xcode中的UIKit框架的部件,其部件可以设置为可上拉和不可以上拉两种方式,如果设置成不可上拉,则用鼠标点击就无法上下拖动列表。由于本系统的公交路线多,所以要实现显示所有公交路线就必须选择可以拖动式列表。列表的形成需要知道列表的数量及其内容的数组,以便于初始化列表。所以我们通过检索数据库Routes表中的内容得到公交路线的数量,并把他们的内容存放在一个数组中,在用户点击功能按钮时就完成了列表的初始化。 图4-6 公交路线列表 4.3.2 列表索引模块的功能实现 列表索引模块主要用于帮助用户快速哦查询公交线路,为用户省去一些时间,方便于用户的操作。索引模块的应用是为了用户麻烦的拖动列表,这样省去了用户的操作,只需输入相应的内容,就可以快速的找到自己想要的,方便、快捷、智能,这就是列表索引的功能所在。 列表索引的设计是由一个搜索栏输入相应站点的数字进行搜索显示公交路线,通过用户输入公交线路来重新初始化列表,改变列表的能容,根据输入的内容,函数重新检索Routes表,重新的显示列表的内容。其实现过程如下图4-7: 图4-7列表索引的实现过程 索引栏的实现是由一个TableView及一个搜索的Button组成的,当用户使用时,再结合下面LabelView通过函数的控制来检索数据库得到相应的内容,TableView是用来输入想要搜索的内容,输入方式是用iphone本机自己带的软键盘,在mac 模拟器上也可以通过电脑的数字键盘进行输入。当用户输入时列表的内容就会相应的随之改变,达到索引的效果。 列表索引的功能实现,如图4-8。 图4-8 列表索引的功能实现 4.3.3 公交站点显示模块的功能实现 公交站点的显示模块使用于显示公交路线经过的相应的站点,当用户想知道上车或下车的站点时,用户可以通过点击图标来显示目标的站点名称,该操作与google地图相似,本系统是仿造google地图的一些操作,来实现用户能熟悉的使用。 公交站点显示模块的设计是在MapView上根据坐标显示某一个点,与定位的效果相似,其主要实现的原理是通过站点的经纬度在MapView上插入大头针。大头针是ios地图开发中不可缺少的角色,它是MKPoitAnnotation类的一个对象,MKPoitAnnotation类在MapKit框架中,其功能为根据经纬度在地图上相应的位置插入大头针,本模块利用的就是大头针的原理将每条公交线路的公交站点以大头针的方式安放在地图上,得到公交站点的效果,MKPoitAnnotation对象有三个属性分别为:title、subtitle、coordinate,其功能为为大头针提供主标题,副标题和大头针在地图中的经纬度,我们把公交站点的名称赋值给主标题,将站点的坐标赋值给coordinate,最后利用MapView的功能函数addAnnotation将所有的大头针添加到地图中,这样就完成了公交站台的显示。其实现过程如下图4-9。 图4-9 公交站点的显示流程 站点的名称与经纬度是通过功能函数对sqlite3的检索来完成的,通过用户操作公交路线列表响应响应的数据库的查询。当用户点击想要查询的公交路线时,响应函数会根据列表的哪一行触发事件,通过行号来检索数据库,查找Routes中的线路,再通过线路表查找相应的站点,并把站点的坐标和名字存放到两个数组中,给大头针的属性赋值,得到相应地图上相应的站点。其功能实现如图4-10。 图4-10 公交站点显示功能实现 4.3.4 公交路线显示模块的功能实现 公交路线显示模块是公交路线查询的主要功能模块,他的功能是给用户呈现一个完整的公交路线,能看到所经的路线,使用户很快的找到自己想要到达的目的地。 公交路线的显示效果是在MapView上划线来实现,公交路线的显示公交站点显示的进一步的功能完善,它是点与线的结合,站点与公交路线的结合,通过列表中的按钮的触发,功能函数到数据库的检索,分别检索Routes表,根据Routes表中的内容检索Stations表中的内容,在检索RoutePoints表内的的所经路线的经纬度得到公交路线,并添加到地图上。 其实现过程如下图4-11: 图4-11 公交路线显示的实现过程 公交路线的功能实现的原理是通过两个站点的经纬度,画一条连接这两个站点的路线,这样一次类推,就得到了整条的公交路线。但两个公交站点的划线,会涉及到两个站点之间直线最短的,最短路径的算法,这样两个公交站点间的路线就有可能是空间穿越了,得不到用户想要的效果了,所以要检索RoutesPoites表中的数据,这就保证了公交路线不会直接的画直线过去。 公交路线的功能实现的主要方法是MapKit提供的MKPolyline类,这个类的对象为地图提供了划线的功能函数,包括线的粗细,线的颜色以及线的起点与终点。它的属性为别为lineWidth,strokeColor和一个划线功能函数polylineWithCoordinates()。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交公 路线 查询 系统 本科 毕业设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文