检索和城市内检索;
线路规划:支持公交信息查询、公交换乘查询、驾车线路规划和步行路径检索;
定位:采用GPS、WIFI、基站、IP混合定位模式;
离线地图:使用离线地图可节省用户流量,提供更好的地图展示效果;
导航:GPS导航、路线全览、文字导航、语音播报、实时路况、路线规划。
1.绪论
1.1 背景及意义
随着移动平台操作系统的快速发展和地图导航应用领域的不断延伸,在手机上拓展GPS功能已成为移动应用开发的一个热点。为了寻找某个地点,人们常常需要耗费大量的精力,所以伴随着现代生活节奏的不断加快,实时的地理位置信息正在成为人们最渴求的信息之一。因此,设计和优化地图定位服务的应用具有非常实用的价值。[5]
1.2 研究现状
中国IT研究中心(CNIT-Research)发布的《2014年中国手机地图市场监测报告》显示,百度手机地图以55.2%的市场份额高居榜首,高德地图以20.7%的市场份额位居第二,搜狗地图排名第三,市场份额为6.3%。
截止2014第一季度,中国智能手机用户规模为7.15亿户,其中手机地图APP在智能手机地图的用户渗透率为81.4%,中国手机地图用户规模达5.82亿。其中,2014年中国手机地图产品累计用户规模市场份额如下图所示:
图1 2014年中国手机地图产品累计用户规模市场份额
中国IT研究中心数据显示,截止2014年百度手机地图累计用户市场份额进一步提高,以55.2%的市场份额高居榜首,高德地图排在第二位,市场份额为20.7%,搜狗地图排第三位,市场份额为6.3%。此外,图吧地图、腾讯地图、谷歌地图和其它手机地图分别占5.9%、4.3%、3.5%和4.1%。
数据显示,百度手机地图继续主导中国手机地图市场,市场份额超过55%。高德地图市场份额则仍以较大优势领先于搜狗地图等其它手机地图产品稳居第二位。
1.3 研究课题主要内容
1.3.1 地点搜索和位置定位
地点搜索可以显示该地点的基本的地图信息,包括道路、街道、、公园等内容。位置定位可显示当前所在的位置信息,同时也支持地图的点击、双击、长按、缩放、旋转、改变视角等操作。
1.3.2 附近搜索
可根据搜索地点和搜索内容(餐厅﹑超市﹑酒店等),显示以该点为中心周边1000米内的目标地点,点击可查看详情。
1.3.3 路线规划
根据起点和终点进行线路规划,有三种线路模式,分别为步行﹑驾车和公交路线规划。结果会在地图上以路线的方式显示,点击可查看每个节点的信息。
1.3.4 公交线路查询
输入需要查询的城市公交线路,可在地图上显示公交起点和终点之间的路线,点击可查看每个站点的信息。
1.3.5 GPS导航
可根据输入的起点和终点进行线路规划,路线规划成功后,即可以进入导航。
1.4 论文结构
文章分为四个部分。
第一章主要介绍论文的研究背景,意义和研究课题的主要内容。
第二章主要介绍有关Android平台和Eclipse的相关知识以及Android开发环境的搭建。
第三章主要介绍使用百度地图SDK时的工程配置,密钥申请,AndroidManisfet.xml中相关权限的配置及程序结构。
第四章主要介绍主界面的设计,包括Layout界面布局、AndroidManisfet.
xml配置、Import相关类、变量定义、初始化和相关事件的处理。
第五章至第八章主要介绍附近搜索、路线规划、公交查询和驾车导航的设计过程,思路与主界面设计类似。
最后在论文的结尾大致描述了一下设计的过程,同时对软件设计存在的问题做出了分析。
2.Android平台与开发环境
2.1 Android系统
Android的系统架构[6]和其操作系统一样,采用了分层的架构。
图2 Android系统架构图
从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。
2.1.1 后缀简介
APK是安卓应用的后缀,是AndroidPackage的缩写,即Android安装包(APK)。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。一个APK文件的主要结构为:
res,存放资源文件的目录;
AndroidManifest.xml,程序全局配置文件;
classes.dex,Dalvik字节码;
resources.arsc,编译后的二进制资源文件。
2.1.2 应用组件
Android开发四大组件分别是:
活动(Activity),用于表现功能;
服务(Service):后台运行服务,不提供界面呈现;
广播接收器(BroadcastReceiver),用于接收广播;
内容提供商(Content Provider):支持在多个应用中存储和读取数据,相当于数据库。
2.1.3 系统运行库
Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库:
系统 C 库,一个从BSD继承来的标准C系统函数库 Libc, 它是专门为基于Embedded linux的设备定制的;
媒体库,基于PacketVideo OpenCORE。该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MP3、AAC、AMR、 JPG、PNG;
Surface Manager,对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合;
LibWebCore,一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。
2.2 Eclipse
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。[7]就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
2.2.1 基本介绍
虽然大多数用户很乐于将Eclipse当作 Java 集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。Eclipse还包括插件开发环境(Plug In Development Environment,PDE),这个组件主要针对希望扩展 Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言。例如,支持诸如C/C++、COBOL、PHP等编程语言的插件已经可用,或预计将会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
基于 Eclipse 的应用程序的一个突出例子是IBM Rational Software Architect,它构成了IBM Java开发工具系列的基础。
2.2.2 主要组成
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成:Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发,CDT支持C开发,PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
2.2.3 软件开发包
Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所
上一篇:
激励约束机制是企业健康发展的基础
下一篇:
数控回转工作台设计 毕业设计word2003