摘要随着移动终端平台技术的飞速发展,手机应用覆盖领域不断延伸,手机应用服务步入了一个全新的发展阶段,逐渐成为人们工作生活不可或缺的一部分。用户可以使用手机自我定位、进行路线查询、搜索目的位置,轻松打破了地域的限制,为人们的出行带来了极大的方便。基于以上分析,开发出一款简洁实用的手机地图服务具有非常好的实用意义。本文通过对Android 系统和手机服务的深入分析,完成了以下工作: (1) 介绍了手机地图服务的发展现状,对目前主要的相关网络地图服务 Google Maps API, Baidu Maps API,高德地图 API做了对比分析,指出各自的优劣点。 (2) 深入分析了Android 系统的特征、系统架构、应用程序组件以及主要功能类.介绍了系统实现的关键技术:手机定位技术、百度地图 API 的主要服务 (3) 在对手机地图服务深入调研的基础上,基于 Android平台设计和开发了手机地图服务系统,该系统包含系地图浏览、地点搜索、自我定位、路线规划、导航等功能。 27577 毕业论文关键词 Android系统 地图服务 定位 百度地图
Title The Design and Implementation of Map Service System for Android
Abstract With the rapid development of mobile terminal platform technologies, mobile applications continue to extend coverage areas, mobile applications and services entered a new stage of development, it has become an indispensable part of people's lives. Users can use the map service toself-positioning, route queries, search the destination location, which easily breaking the geographical restrictions,providing great convenience for us. Based on the above analysis, developing a simple and practical mobile map service has a very good practical sense. Through in-depth analysis of the Android system and phone services, we completed the following work: (1) introduced the development of major network map service,such as: Google Maps API, Baidu Maps API, amaps API, to do a comparative analysis, pointing out their strengths and weaknesses. (2) In-depth analysis of the characteristics system architecture, application components and the main functional class of the Android system, introduces the key technologies of system implementation,mobile positioning technology, the main service Baidu Maps API. (3) On the basis of depth research on the mobile maps service, design and development of mobile map service system for Android, which contains map browsing, location, self-positioning, route planning, navigation and other functions . Keywords Android System Map service Location Baidu Maps API
目次
1绪论1
1.1课题背景和意义.1
1.2研究现状.1
1.3课题任务.2
1.4组织结构.2
2相关技术支持4
2.1ANDROID平台.4
2.2手机定位技术7
2.3百度地图API.8
3系统分析与设计.10
3.1需求分析10
3.2系统功能设计11
3.3界面设计.12
4系统实现.17
4.1自我定位功能的实现17
4.2地点搜索功能的实现18
4.3路线查询功能的实现19
5.7路线导航模块的实现21
5.8离线地图模块的实现22
5.系统测试.24
结论.29
致谢.30
参考文献31
1 绪论 1.1 课题背景和意义 Android 地图服务系统是基于Android 有关位置信息的服务,核心技术就是地图定位,它可以通过定位技术提供地图浏览、自我定位、地点搜索、路线查询等与位置相关的各种。随着网络通信和手机技术的不断发展,手机应用的功能越来越强大,而手机地图作为人们出行必备的服务软件,因其成为准确方便成为人们最为喜爱的应用之一。根据调查显示,手机地图在用户全部收集流量消费中占到了 19%,排在第三位,排在前两位的为视频音乐以及即时服务,分别占 27%和 22%[5]。地图服务在众多软件中排在了第三位,不得不承认手机地图服务在流量消费中起到了重要作用,成为人们生活中不可或缺的互联网移动软件之一。 过去人们的地图使用单一,多是用于查询地点和路线,而现在用户除了简单的位置查询以外,还可以基于用户所在地点对附近位置信息进行深度查询,例如公交站点、停车场、加油站等交通设施,电影院、商场、KTV等娱乐地点,饭店、超市等生活服务查询,甚至可以在地图软件对各种服务进行预订。在用户需求越来越细致的情况下,贴近用户需求的软件无疑可以有更大的市场占有率[13]。未来手机地图的发展将趋向两个方面:一方面,手机地图将趋向于智能化,为用户提供一体化的地图和生活服务,未来的地图服务不会局限于传统的自我定位、地点搜索、路线查询等基础功能,而是会结合餐饮、娱乐、生活服务等,给用户带来更为全面的生活体验;另一方面,对开发者来说,地图开放平台将为开发者提供更加全面的支持和所需要接口。 1.2 研究现状 手机地图服务 API 市场日趋成熟,为开发者提供了大量免费的地图服务接口,国外如Google Maps API、Microsoft Virtual Earth API、Yahoo Maps API,国内如百度地图 API、高德地图 API。其中由于 Google 在中国的权限问题,近年来百度地图 API 和最近兴起的高德地图API在众多的手机服务 API中占据了国内比较大的市场。 2005年4月,Google 首先推出了地图服务:Google Map[10] 。Google地图提供给用户多种服务模式:矢量地图(传统地图)、卫星地图、地形地图(可以显示地形和等高线) 。Google Maps API 是一套用JavaScript 语言编写的应用程序接口, 它通过 JavaScript 将 Google 地图嵌入到网页中。开发人员使用 Google Maps 提供的地图 API,通过加载不同的地图图层,开发各种各样个性化的地图应用。该 API 为开发者提供了全面的实用工具,并提供丰富的编程 API和处理工具向地图添加内容,使用 Google Maps API已经可以创建功能强大的地图应用。但是由于近几年Google 没有获得中国的互联网权限,Google地图接口的市场占有率不断下降。 百度地图于2010年4月 23日正式开放地图API[11] 。 百度地图API是基于百度地图的应用接口,不仅包含了地图服务的基本功能服务,还提供了数据服务,并为开发者提供了开发指南和开源库,为开发人员使用百度地图开发地图应用提供了极大的方便。该 API 提供了基本地图、路线规划、poi 搜索、地理编码、导航、云存储等功能接口,从而使开发者能够创建功能全面的地图应用。与Google 相比,百度地图功能更具有本地特色,灵活性也更好。 近年来,高德地图也推出地图服务[12] 。高德地图 JavaScript API是基于 JavaScript 的应用程序接口,高德地图 API 提供了搜索和路线功能,并提供了丰富的插件和实用工具,开发者通过它提供丰富的 API 接口向地图添加内容,创建出功能全面的手机地图应用。其中地图浏览和地点搜索风别属于两个独立的类库,开发者可以单独使用其中一个。 1.3 课题任务 手机地图服务系统是基于Android平台的, 因此首先需要研究Android系统, 了解Android的体系结构、特征和相关功能类,熟悉 Android 项目的开发流程。此外本系统基于百度公司的 WEB 服务技术,需要了解百度地图的应用范围和 API 接口功能类。在对两者有了深入的研究之后,设计并开发手机地图服务原型,实现地图浏览、自我定位、地点搜索等功能。以下是本文的主要工作: (1)研究Android 平台系统架构,熟悉Android 相关功能类,熟知Android 项目开发流程,能够熟练在Android 平台上进行软件开发。 (2)了解百度地图服务的主要功能和特点,熟悉百度地图 API的主要功能类,学会使用百度 API进行Android地图的开发 (3)对系统进行功能需求分析,设计出整体性系统框架,再将系统分为若干功能模块,设计出每个模块的实现流程及相关界面。 (4)在eclipse平台进行系统开发,根据需求分析实现基于Android 的手机地图各项功能,进行程序测试并修正其中的错误。 1.4 组织结构 本文实现了对 Android 地图服务系统的分析、设计和实现,重点在于系统的分析和详细设计上。