【Android论文栏目提醒】:网学会员为需要Android论文的朋友们搜集整理了基于Android平台的百度地图手机导航设计--毕业设计 - 毕业设计相关资料,希望对各位网友有所帮助!
本科生毕业设计(
论文)题 目:基于
Android 平台的百度地图手机导航设计专 业:年 级:指导教师: 2013 年 4 月 14 日 独创性声明 本毕业设计(
论文)是我个人在导师指导下完成的。
文中引用他人研究成果的部分已在标注中说明;其他同志对本设计(
论文)的启发和贡献均已在谢辞中体现;其它内容及成果为本人独立完成。
特此声明。
论文作者签名: 日期: 关于
论文使用授权的说明 本人完全了解学院有关保留、使用学位
论文的规定,即:学院有权保留送交
论文的印刷本、复印件和电子版本,允许
论文被查阅和借阅;学院可以公布
论文的全部或部分内容,可以采用影印、缩印、数字化或其他复制手段保存
论文。
保密的
论文在解密后应遵守此规定。
论文作者签名: 指导教师签名: 日期: 基于安卓平台的百度地图的导航设计 摘要 现代社会,手机导航己经成为人们工作生活中必不可缺少的一项导航定位服务。
随着手机硬件的快速升级换代,对应于手机的各种高级软件服务和应用层出不穷。
在这当中,手机导航定位服务,是一项全新且具有广阔市场和应用价值的业务。
这其中的领航者百度地图,是百度公司向全国提供的电子地图服务。
它拥有纸质地图无法比拟的优越性,特别是在近年来移动设备智能化、轻便化的趋势下,再加上网络速度的提升,更是让百度地图与人们的生活产生更为息息相关。
在操作系统方面,谷歌于 2007 年 11 月推出了一款开源的移动终端操作系统——安卓,截止至 2012 年 11 月数据显示,安卓占据全球智能手机操作系统市场 76的份额,中国市场占有率为 90。
在手机地图导航开发方面,百度公司为开发者提供了非常灵活的百度地图展示与控制功能。
由于开发百度地图的免费性和使用安卓平台的开源性,不仅能够有效降低开发成本,而且能使每个用户自由的获取信息,这也为手机地图导航定位服务的普及做出了重要的贡献。
本人毕业设计的论题为《基于
Android 移动平台的百度地图的导航设 ,计》 采用时下最新版的百度地图 V2.1.0,该应用可以用来浏览城市的地图,并能对其放大、缩小和移动,三种视图的切换,同时实现 GPS 定位技术、公交路线的查询、兴趣点的搜索和路线导航等功能,具有很强的应用前景。
关键词:手机导航,安卓,百度地图 I Based on
Android Platform Baidu Map Navigation Abstract In modern societymobile navigation has already become one of the most essentialnavigation service in the people’s life.Along with the rapid upgrade in mobile hardware,a largenumber of advanced software will be appeared.Mobile navigation service is a new marketservice among them.Baidu Map is the No.1 map application in China it provide the wholecountry with the electronic map.It has superiority than paper mapespecially in recently mobileturn into intelligence and convenienceand improve the speed of networkthe relationshipbetween people and Baidu Map become more related. In the operate systemGoogle corporation released an open mobile terminalsystem--
Android in November2007up to November2012
android system occupied 76 quotasin the world on the smart phone systemthe market share is 90 in China.In the mobile mapnavigationBaidu corporation provides developer with flexible display and controlfunction.Because Baidu Map is freeand
android platform is opened.It can reduce the cost ofdeveloper.This promotes the development of mobile map navigation.My graduate subject isBased on
android platform Baidu Map Navigationit adopts the latest Baidu Map Version 2.1.0itcan be able to movezoom out or in scan city map and switch three display.It also could achieveGPS location、acquire bus line information、search key words and car line navigationit has abright future.Key words: Mobile Navigation
Android Baidu Map II 目 录第 1 章 绪论 ............................................................... 1 1.1 研究背景及意义 ..................................................... 1 1.2 研究现状 ........................................................... 1 1.3 研究课题主要内容 ................................................... 3 1.4
论文组织 ........................................................... 3第 2 章 安卓平台与开发环境 ................................................. 4 2.1 安卓平台简介 ....................................................... 4 2.2 安卓平台框架 ....................................................... 5 2.3 安卓开发环境搭建之 JDK7 下载安装 .................................... 6 2.4 安卓开发环境搭建之 Eclipse 组件下载安装 ............................. 6第 3 章 基于安卓平台的百度地图导航设计 ...................................... 8 3.1 百度地图 API 申请和使用简介 ......................................... 8 3.2 百度地图 SDK 简介 ................................................... 9 3.3 百度地图库文件的工程配置流程 ....................................... 9 3.4 百度地图初始化的代码配置流程 .......................................10第 4 章 软件功能的实现 .....................................................14 4.1 百度地图的进入窗口 .................................................14 4.2 百度地图的地图展示 .................................................15 4.3 百度地图的地图搜索兴趣点 ...........................................16 4.4 百度地图的地图导航 .................................................18 4.5 百度地图的公交路线站点查询 .........................................21 4.6 百度地图的定位当前所在地 ...........................................22结论 ......................................................................25参考文献 ..................................................................26谢辞 ......................................................................27 III 基于
Android 平台的百度地图的导航设计 第 1 章 绪论1.1 研究背景及意义 随着移动平台操作系统的快速发展和地图导航应用领域的不断延伸1,在手机上拓展GPS 功能已成为移动应用开发的一个热点。
安卓手机操作系统作为一款新型智能手机操作系统,具有开放性好、软硬件功能扩展性强的特点,开发基于安卓 的地图应用潜力巨大2。
2012 年 11 月数据显示,安卓占据全球智能手机操作系统市场 76的份额,中国市场占有率为 90。
同时据统计,人们的日常生活中,有大量的事件需要用到导航功能。
见图 1-1所示。
图 1-1 导航在手机软件中的使用率 为了寻找某个地点,人们常常需要耗费大量的精力,所以伴随着现代生活节奏的不断加快,实时的地理位置信息正在成为人们最渴求的信息之一。
2010 年前的地图服务主要是以单机或者 Web 的方式实现,不适合身处外地的用户使用,给用户的出行带来了不便。
而手机地图服务的便携性和数据的实时性3很好的解决了这一问题,因此,设计和优化地图定位服务的应用具有非常实用的价值4。
1.2 研究现状 在国外,主要以 Google Map5为主,由谷歌公司提供的电子地图服务,包括局部详细的卫星照片。
此款服务可以提供含有行政区和交通以及商业信息的矢量地图、不同分辨率的卫星照片和街景视图6的离线地图包7。
2012 年 8 月 16 日,谷歌针对移动设备升级了地图服务,本次升级的重点是全球将近500 个城市的公交选择列表,包含了全球 100 多万个公交站的始发时间和行进路线。
谷歌还将针对部分车站提供室内导航8,帮助乘车者寻找路线。
2012 年 12 月 3 日,Google Map v1 版正式被废弃,不能再申请 API Key。
2012 年 12 月 5 日,Google Map v2 版正式被启用,采用最新的 SHA1 进行申请,原有的 MD5 申请方式被废弃,同时启用全新的 Google APIs Console9对相关使用权限进行管理10,见图 1-2 所示。
1 图 1-2 Google APIs Console 2013 年 2 月 26 日和 3 月 12 日,Google Map v2 11 又进行了不同的程度的修改和更新。
在国内,主要以 Baidu Map12为主,见图 1-3 所示。
图 1-3 三家地图运营公司使用率 Baidu Map 是百度提供的一项网络地图搜索服务,覆盖了国内近 400 个城市、数千个区县。
在百度地图里,用户可以查询街道、商场、楼盘的地理位置,也可以找到离您最近的所有餐馆、学校、银行、公园等等。
2012 年 12 月 3 日,
Android SDK:v1.3.5 栅格版地图最终版发布,实现用户数据地图展现,完美兼容安卓 4.2。
2013 年 1 月 23 日
Android SDK:v2.0.0 由栅格版地图彻底转向矢量版地图,较之栅格版地图,增加 19 级显示,地图显示更详细。
定位功能模块分离,即
Android SDK 2.0.0版本不再包含定位功能(保留定位图层),开发者在需要定位功能时,请引入定位 SDK。
同时增加地图 3D 显示特效。
2013 年 3 月 28 日
Android SDK:V2.1.0 产品上线,新增地图截图功能、自定义线路 2 基于
Android 平台的百度地图的导航设计绘制,根据起点、终点和关键点绘制 3D 视角控制接口。
1.3 研究课题主要内容 本课题将最终完成的主要成果为: (1)自我位置更新定位和三类视图切换 点击获取当前位置按钮,实现当前所在地的定位。
点击菜单,将出现三类地图 menu 按钮,依据所需,按其所需。
(2)3D 控制接口和旋转度控制 根据 3D 俯视度,可调整观看地图的角度,实现三维地图的感受。
根据旋转度的调整,可 360 度的调转方向。
(3)A 点到 B 点的导航 A 点到达 B 点,有四种实现方式。
分别是步行模式、公交模式、驾车模式、自设模式。
(4)公交车路线查询 根据城市名和公交车的号码,可调出从起始站到终点站的所有站名和路线,将其显示在地图上。
1.4
论文组织 文章分为四个部分。
第一章主要介绍了设计的研究背景、意义和研究课题的主要内容。
第二章主要介绍了安卓平台的框架和功能,比较细致的介绍了 JDK7 的下载安装和Eclipse 组件的环境搭建。
第三章主要介绍了百度地图 API 如何申请和使用,百度地图 SDK 的功能介绍,以及要使用百度地图最开始的库文件的工程配置流程和代码配置流程。
第四章主要介绍了百度地图相关功能的实现,比如地图的展示,兴趣点地点的搜索,地图的两地导航,公交车的站点路线查询,定位当前位置和卫星地图等的切换。
最后在结论部分对本次毕业设计的过程做大致的回首,同时对应用软件存在的问题做出分析。
3 第 2 章 安卓平台与开发环境2.1 安卓平台简介 (1)显示布局 安卓操作系统支持更大的分辨率,VGA,2D 显示,3D 显示都给予 OpenGL ES 2.0 标准规格,并且支持传统的智能手机。
(2)数据存储 安卓操作系统内置 SQLite 小型关联式资料库管理系统来负责存储数据。
(3)网络 安卓操作系统支持所有的网络制式,包括 GSM/EDGE、IDEN、CDMA、EV-DO、UMTS、Bluetooth、Wi-Fi、LTE、NFC 和 WiMAX。
(4)信息 作为原设计给手机使用的操作系统,安卓操作系统原生支持短信和邮件,并且支持所有的云端信息和服务器信息。
(5)语言 安卓操作系统支持多语言。
(6)浏览器 安卓操作系统中内置的网页浏览器基于 WebKit 内核,并且采用了 Chrome V8 引擎。
在安卓 4.0 内置的浏览器测试中,HTML5 和 Acid3 故障处理中均获得了满分,并且于 2.2版及之后能原生支持 Flash。
(7)支持 Java 虽然安卓操作系统中的应用程序大部分都是由 Java 编写的,但是安卓却是以转换为Dalvik executables 的文件在 Dalvik 虚拟机上运行的。
由于安卓中并不自带 Java 虚拟机,因此无法直接运行 Java 程序。
不过安卓平台上提供了多个 Java 虚拟机供用户下载使用,安装了 Java 虚拟机的安卓系统可以运行 J2ME 的程序。
(8)媒体支持 安卓操作系统本身支持以下格式的音频/视频/图片媒体:WebM、H.263 H.264 in 3GPor MP4 container、MPEG-4 SP、AMR AMR-WB in 3GP container、AAC HE-AAC in MP4or 3GP container、MP3、MIDI、Ogg Vorbis、FLAC、WAV、JPEG、PNG、GIF、BMP。
如果用户需要播放更多格式的媒体,可以安装其他第三方应用程序。
(9)流媒体支持 安卓操作系统支持 RTP/RTSP(3GPP PSS ISMA)的流媒体以及(HTML5 ltvideogt) 4 基于
Android 平台的百度地图的导航设计的流媒体,同时还支持 Adobe 的 Flash,在安装了 RealPlayer 之后,还支持苹果公司的流媒体。
(10)硬件支持 安卓操作系统支持识别并且使用视频/照片摄像头,多点电容/电阻触摸屏,GPS,加速计,陀螺仪,气压计,磁强计,键盘,鼠标,USB Disk,专用的游戏控制器,体感控制器,游戏手柄,蓝牙设备,无线设备,感应和压力传感器,温度计,加速 2D 位位块传输(硬件方向,缩放,像素格式转换)和 3D 图形加速。
(11)多点触控 安卓支持原生的多点触摸,在最初的 HTC Hero 手机上即有这个功能。
该功能是内核级别。
(12)蓝牙 ,访问电话簿(PBAP) 安卓支持 A2DP,AVRCP,发送文件(OPP) ,语音拨号和发送 。
手机之间的联系。
同时支持键盘,鼠标和操纵杆(HID) (13)语音功能 除了支持普通的电话通话之外,安卓操作系统从最初的版本开始就支持使用语音操作来使用谷歌进行网页搜索等功能。
(14)无线共享功能 安卓操作系统支持用户使用本机充当“无线路由器”,并且将本机的网络共享给其他手机, 就可以上网。
其他机器只需要通过 WiFi 寻找到共享的无线热点, 而在
Android OS v2.2版本之前的操作系统则需要通过第三方应用或者其他定制版系统来实现这个功能。
(15)截图功能 从
Android OS v4.0 版本开始,安卓操作系统便支持截图功能,该功能允许用户直接抓取手机屏幕上的任何画面。
2.2 安卓平台框架
Android 的底层建立在 Linux 系统之上。
它采用一种软件叠层的方式进行构建。
这种软件层结构使得层与层之间互相分离,分工明确。
保证了层与层之间的低耦合,当下层的层下或者层内发生改变时,上层应用程序无需做任何改变。
安卓系统主要由三部分组成: (1)应用部分 (2)核心部分 (3)底层部分 见图 2-1 所示 5 应用部分 桌面应用 联系人应用 通话应用 浏览器应用 … 组件管理服务 窗口管理服务 系统数据源组件 控件框架 资源管理服务 … 核心部分 生化危机 Java libe SQLite Webkit Java 核心类库 OpenGL FreeType … 虚拟机 音视频接口 GPS 接口 通话接口 … 底层部分 进程/线程 电源管理 驱动 … 图 2-1 安卓平台框架2.3 安卓平台开发环境搭建之 JDK7 下载安装 首先需要的是 JDK。
Android SDK 需要 JDK 6 或更高的版本,我们使用 JDK 7 来开发。
从(http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html )下载 JDK 7 并安装。
接下来,设置 JAVA_HOME 环境变量以指向 JDK 安装文件夹。
右键单击“计算机”选择 , “高级系统设置” 然后单击 “属性” 选择 , 。
“新建” “环境变量” 单击 添加 JAVA_HOME变量,如果该变量已存在,单击“编辑”修改它。
JAVA_HOME 的值类似于“C:Program 。
FilesJavajdk1.7.0_10”2.4 安卓平台开发环境搭建之 Eclipse 组件下载安装 谷歌公司为了方便广大的开发者,已将 Eclipse ADT、
Android SDK 等软件都集中捆绑下载了。
从(http://developer.
android.com/sdk/index.html)下载来安装。
下载后 Eclipse 可直接放在你想放的硬盘里,无需安装,打开该软件后,点击如下图 2-2 所示按钮。
6基于
Android 平台的百度地图的导航设计 图 2-2
Android SDK 下载页面 7 第 3 章 基于安卓平台的百度地图导航设计3.1 百度地图 API 申请和使用简介 百度地图移动版 API 是一套基于安卓 1.5 及以上设备的应用程序接口,通过该接口,您可以轻松访问百度服务和数据,构建功能丰富、交互性强的地图应用程序。
百度地图移动版 API 不仅包含构建地图的基本接口,还提供了诸如地图定位、本地搜索、路线规划等数据服务,你可以根据自己的需要进行选择。
用户在使用 API 之前需要获取百度地图移动版 API Key,该 Key 与你的百度账户相关联,您必须先有百度帐户,才能获得 API KEY。
并且,该 KEY 与您引用 API 的程序名称有关,KEY 的申请具体流程请看下图 3-1。
图 3-1 申请百度 API 密钥 然后获得已申请的 API 密钥,如图 3-2 所示。
为 了 能 使 用 百 度 地 图 应 用 , 首 先 将 API 包 括 的 两 个 文 件 baidumapapi.jar 和libBMapApiEngine.so 拷贝到工程根目录及 libsarmeabi 目录下,并在工程属性-gtJava BuildPath-gtLibraries 中选择“Add JARs”,选定 baidumapapi.jar,确定后返回,这样就可以在程序中使用 API 了。
8 基于
Android 平台的百度地图的导航设计 图 3-2 已获得的百度 API 密钥3.2 百度地图 SDK 简介 百度地图
Android SDK 是一套基于安卓 2.1(v1.3.5 及以前版本支持安卓 1.5 以上系统)及以上版本设备的应用程序接口,您可以通过该接口实现丰富的 LBS 功能: (1)地图展示:包括 2D 图、卫星图、3D 图地图展示。
(2)地图操作:提供平移、缩放、双指手势操作、底图旋转等地图相关操作。
(3)地图搜索:提供根据关键字进行范围检索、城市检索和周边检索。
且支持 LBS云检索用户自有数据。
(4)线路规划:提供公交、驾车和步行三种类型,多种方案(不含地铁、时间优先、最少换乘、最少步行)的线路规划。
(5)位置标注:提供一个或多个 POI 位置标注,且支持用户自定义图标。
(6)实时路况:提供城市实时交通路况信息图。
(7)定位:采用 GPS、WIFI、基站、IP 混合定位模式,请使用安卓定位 SDK 获取定位信息,使用地图 SDK 定位图层进行位.