基于android的地图定位与搜索应用程序设计毕业设计(编辑修改稿)内容摘要:

ndroid 手机地图服务 软件 具有 极 好的实用意义。 另一方面 , Android 手机操作系统是 Google 公司 及其开放手机联盟( OHA)于 2020 年 11月 5日正式向外界展示的,是全球 第一个 专门为移动终端 的开发而打造的平台,具有免费、完整、开放的特点 [5], 这 是一个 具有划时代意义的 真正意义上的移动设备开发平台。 正是因为 其开源性 的特点 ,使得 Android 从刚刚推出时就受到了很多开发者的 高度 关注。 更是由于其免费与开源性 的 特点, Android操作系统不只是局限于手机端,在许多笔记本电脑或其他智能设备上也支持Android 操作系统的安装使用。 所以 基于 Android 平台的应用程序的 开发 将会有不可限量的发展前景 [6]。 所以 , 研究 Android 平台的 体系架构 ,开发 Android 端应用程序 具 有很大的 现实 和理论 意义。 的现状与前景 在国内, 随着 Android 的住逐渐崛起, Android 在中国的粉丝也越来越多,许许多多的系统开发者都选择投身 Android 的开发当中。 据相关部门统计表明,在过去的几个月, Android 手机在国内 的持有量大幅上升,用户对 Android 的态度也发生了翻天覆地的变化。 总而言之, Android 在国内的发展前景不可限量,但是还存在一些小小的瑕疵,其中之一便是许多开发商只为自己利益以为的索取,而不以服务大众为目的,之开源不开放,这样的发展情况最终将不利于Android 在国内的健康发展。 在国外, Android 当前正处在蓬勃发展的阶段。 根据美国市场调研机构的最新报告显示,仅仅是 2020 年的时候,基于 Android 系统的手机的销售量已经占据了全美总销售量的 28%,而同样应有雄厚背景的 IPhone 只占 21%,这充分 显示出 Android 在国外的市场占优比要高于其他智能系统,可想而知,现如今随着Android 的不断开发推广,这个比重将会变得更大,因此,进行 Android 系统开发的开发者将会越来越多,选择 Android 系统手机的人会越来越广泛,它在国外济南大学毕业设计 7 的霸主地位将不可动摇。 Android 英文原意是 “ 机器人 ” ,自从 Google 公司 开 发 开发出 基于 linux 的开源手机操作系统 后 ,现在, Android 特指 全球第一个 真正 具有 开源、完整、免费 特点 的手机操作系统 ,目前已经发布的版本 从 Android 到 Android ,应经拥有多达不下十个版本, 现在最高的版本是 ,但是 目前 市场占有率最高的还是 , 因为该版本依然是目前最稳定的版本。 另外, Android 是专用于平板电脑的 [7]。 Android 系统具有向下兼容的特点,即低版本系统软件可以在高版本系统中运行。 目前, Android 平台在市场上依然拥有 很多 优势 ,其中 最突出的还是免费和开源 ,这绝对是无可争议的。 它的 免费 指的 是 Google 公司 免费 向全球 提供 Android操作系统 , 所有的移动电话 供应商 都可以免费使用 Android 操作系统 ,这将为他们省去 大部分 制造成本 ,使智能手机开发的门槛极大的 降低 ,极大 地推动了Android 系统 在全球智能手机市场 的普及。 所说的 开源 ,就是指 Android 系统的源码是 对外 开放的 ,任何 供应 商都可以自己对其进行更改和 再次 开发 ,设计 出适合自己的 独特 版本,不止如此,其开源的特点也为 Android 手机 开发者提供了更广阔的发展空间。 从以上信息不难看出, Android 发展前景不可限量,作为手机开发人员一定要抓住这个机遇,因为根据艾媒咨询( iiMedia Research)统计数据显示 Android开发者的数量从 2020 年至 2020 年正在急速增 加 ,这也是手机开发人员的一个机遇,通过许许多多的市场分析也许大家就会明白 Android 的步伐现在迈的还是很大,能否跟上它的脚步,就看抓不抓得住这个千载难逢的机遇了。 本文的研究内容主要包括:研究 Android 平台的开发流程、了解 Android 平台的内部结构框架、 研究 GPS 定位方面的内容、研究 在 Android 平台上进行 应用程序的开发过程、结合百度地图 API 实现基于 Android 平台的地图定位与搜索服务的应用。 根据我的设想,本次地图应用应该包括以下几个模块:地图模块,可以进行主流地图的操作,如放大、 缩小、拖动等;定位模块,可以通过 GPS 获取用户当前地理坐标,并在地图标记;搜索模块:搜索模块分为两种情况,一是定点搜索,用于搜索确定位置,二是范围搜索,用于搜索一定范围内的建筑物;收藏模块,顾名思义用于收藏用户拜访过的以及用户关注的地理位置信息;天气模块,天气模块是本次设计的扩展内容,实现目的是方便用户了解当地天气情况,选择合适的出行方式。 济南大学毕业设计 8 2. 技术支持与百度地图 API 既然要做关于地图的 APP,首先就要了解一下相关的技术支持。 Android 平台手机地图开发的相关技术主要包括手机地图服务、 GPS 的定位技术以及 本次用到的百度地图 API,下面将依次介绍着三种技术的相关情况。 手机地图服务主要是运用 GPS 技术准确定位手机移动用户的地理位置,帮助用户了解周边位置情况,并通过客户端,方便用户在移动互联网与手机地图服务器之间搜索、查询路线位置的应用。 手机地图服务不仅能够使用相关文字表述查询信息,并且能够通过地图信息直观表达给用户, 友好的人机交互 界面, 提供了良好的用户体验 [8]。 查询接口与服务器连接接口主要通过手机地图客户端来提供。 手机地图能够执行放大、缩小和移动等操作 ,不仅 可以 利用文字表述 反馈给用户 查询结果 ,还能够利用地图信息 将查询结果 在地图上直观的显示 出来。 客户端 以 HTTP 提交 的方式向服务器端发送 请求 ,服务器端 对收到的 请求做出 相应的处理 , 将处理后得到的地图数据以栅格数据的方式返回给客户端 [9]。 它的大致过程 如图 21所示。 客户端向服务器端发送的是 HTTP 请求。 服务器端向客户端传输的是栅格数据。 图 21 地图查询流程图 手机定位技术是一项能够获取并在地图上标识移动手机或终端用户位置信息的技术和服务, 基于 GPS 的定位方式 指的 是利用手机上 自带的 GPS 定位模块将济南大学毕业设计 9 自己的位置信号发送到后台 业务 来实现手机定位的。 基站定位 的原理 是 利用手机相对基站的 距离来确定手机位置的 , 基站定位方式不需要 手机 拥有 GPS功能 [10],基站的密度 在很大程度上将直接影响测量精确度,造成的 误差 有时 甚至会 超过一公里。 二者相比较,显然基于 GPS 的定位方式 定位精度 比 较高。 除了以上这两种定位方式, 我们还可以 利用 Wifi 在小范围内 达到 定位的 效果。 我们还可以 根据 提供服务的方式 不同 将定位系统大致分为两种 : 自有手机定位系统 和 公用定位服务 [11]。  自有手机定位: 自有手机定位系统 不仅 灵活 而且 易于控制 ,是目前手机定位系统的首选, 自有手机 定位系统 一般与 企业或政府内部网相连, 而且为他们提供 的基于位置的服务 大都与自身业务 相关。 利用自有手机定位系统的业务主要有 : 货物和事 件定位 、人员考勤 以及 对其进行基于地理位置的分析和统计 等。  公用定位服务: 公用定位服务 一直以来都是由移动运营商提供。 现在市场上 专门为 某个企业或 政府部门自己 服务 的 私有 定位系统 大多用的公用定位服务。 目前应用 这种定位方式 的业务或场所主要有 : 物流货物、 公安执法、 车辆 或长途车 定位 以及 紧急救援定位 等。 是地理定位服务包,可以 实时 获取当前设备所处的地理位置信息, 不仅如此, 他还提供了基于网络和 GPS 的定位服务 [12]。 GPS_ROVIDER 可以定位当前设备的地理位置,一般用在 设备自身 定位 等功能上 ; NETWOR_PROVROER提供 GPS 和 网络 的定位服务。 定位的相关类 如表 21所示 : 位置类 Location 定位管理类 LocationManager 位置提供者 LocationProvider 定位监听类 LocationListener 位置标准类 Criteria 表 21 定位相关类 Location:提供地理位置信息,经纬度、高度、测量速度等。  getLongitude()方法获取经度信息,  getLatitude()方法获取纬度信息,  getAltytyde()获取高度信息 ,  getSpeed()方法对应获取速度信息。 LocationManager:这是定位系统的核心组件,可以实时获取和更新地理位置信息。 济南大学毕业设计 10  调用 getLocationManager()方法返回最新 位置 信息。  调用 requestLocationUpdates()方法用于 注册 地理 位置更新事件。  调用 requestLocationUpdates(String,long,float,LocatonListeiier)方法 注册接收位置跟新事件的接收器。  调用 requestUpdates()方法 删除注册 信息 ,停止位置更新 事件。 LocationProvider: 位置服务的抽象类。 可以周期性的报告当前设备的地理位置信息 [13]。 每个定位服务提供商都会提供一套准则,所有 LocationProvider都有自己的使用准则。  enableProvider()方法 用于启动 LocationProvider。  disableProvider()方法 用于关闭 LocationProvider。 LocationListener: 用于 实时监听 从 LocationManager 通知的位置变化。 调用 onLocationChanged()方法 , 实时更新定位 位置。  实现一个 LocationListener 接口获取 GPS 信息。  当 GPS 的 位置信息 发生变化 时,会调用 onLocationChanged()方法 [14]。  当 GPS 的 状态 改变 时,会调用 onStartChanged()方法。 Criteria:此类可以根据查询条件提供位置信息。 比如地图解析精度、功耗、海拔高度、速度等,系统可以根据 筛选条件选 出合适的属性定位者, 这个方法 主要 通过 LocationProvider 来实现。 API 百度地图 API是 百度集团专门 免费为开发者提供的基于百度地图服务的应用接口 , 它不仅免费向开发者提供地图展示、搜索与定位、云存储和检索等多种强大功能,同时还为开发者 集成了 Android SDK、定位 SDK 等 多种开发工具与服务。 百度地图 API 适应范围非常广泛, 不仅 适用于 PC 端 ,还适用于 移动端、服务器等多种设备, 是一个 多种操作系统下的地图应用开发 接口 [15]。 系统构架图如图22所示 济南大学毕业设计 11 图 22 百度地图 API 系统构架图 百度地图 Android SDK 是一 个 应用程序 接口, 基于 及以上版本设备, 我们 可以通过该接口实现丰富的 LBS 功能: 地图:提供地 图( 2D、 3D)的展示和缩放、平移、旋转、改变视角等地图操作; POI 检索:可根据关键字,对 POI数据进行周边、区域和城市内三种检索; 地理编码:提供地理坐标和地址之间相互转换的能力; 线路规划:支持 公交换乘查询、 公交信息查询、线路规划和路径检索; 覆盖物:提供多种地图覆盖物(自定义标注、几何图形、文字绘制、地形图图层、热力图图层等),满足开发者的各种需求; 定位:采用多种定位模式, 任务步骤是先 用定位 SDK 获取 到 当前或特定位置的 定位 信息, 然后 使用地图 SDK 将 定位信息 展示 出来 ; 离线地图:支持使用离线地图, 不 仅 可以 大量 节省用户 数据 流量,同时 可以为用户的地图体验 提供更方便的途径 ; 导航:支持调启百度地图导航和 Web 导航来满足用户对导航功能的需求; LBS 云检索:支持用户检索存储在 LBS云内的自有 POI 数据,并展示; 特色功能:提供短串分享、 Place 详情检索、热力图、调启百度地图等特色功能,帮助开发者搭建功能更加强大的应用; 应用百度地图 API 进行开发,必须经过两个重要的步骤: 1) 下载百度地图开发包 在 使用百度地图 API 之前 , 首先 需要在 创建的 工程中引用百度地图 API 开发包, 只有将开发包引用进我们的工程才能进一步使用 百度地图 API, 开发包 里面应该 包含两个文件: 和 [16]。 首先在工程 libs 文件夹中,将 拷贝到 根目录 ,然后 在根目录下创建 armeabi 子目录, 将 扔 到该目录下。 最后在工济南大学毕业设计 12 程属性 Librar。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。