基于Android平台移动导航定位的研究与设计
K和定位SDK,需先申请同一个key,接口使用无次数限制。
地图SDK是一套基于Android平台的应用程序接口,可以使用该套SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK接口,可以轻松访问百度移动地图服务和数据,构建功能丰富、交互性强的地图类应用程序。同时百度移动地图定位SDK是一个提供基础定位API的第三方平台,为各类应用提供定位能力,提升用户体验。通过移动地图API,用户可以再移动终端上便捷、轻松、准确地访问百度地图服务和数据。地图定位原理如图3所示。
百度移动地图采用GPS、基站、Wi—Fi信号进行定位。当应用程序向SDK发起服务请求时,SDK会根据应用的客观因素(GPS、基站、Wi—Fi信号)的实际情况(如是否开启GPS、是否连接网络、是否有信号等)来生成相应地理信息依据进行响应。
3 系统的功能设计
本文的研究目的是实现好友共享地理信息的移动导航定位系统,通过后台的推送服务,更新并发送给其好友,并在客户端上通过百度Map上显示出来。只要用一个账号和密码登陆,使用者就匹配数据库相关数据就可以加载好友列表,并进行位置共享进而实现移动导航功能,系统整体功能架构如图4所示。
3.1 客户端功能设计
系统客户端模块包括数据接收模块、登录模块、注册模块、定位模块和移动导航模块,客户端设计架构图如图5所示。代码实现语言采用Java,IDE是Eclipse,数据库是MySQL,Android开发工具是android-sdk-windows。
当用户登录客户端经过GPS模块接收位置信息模块,并存储在数据库里,通过DataProcess处理线程进行处理,最后通过DataProcess发送广播给UI界面Activity,Activity根据当前的状态判断是否要马上更新地图信息。
在客户端,图层显示包括地图静态图层、Poi图层、天气图层、移动导航图层。地图图层是展示的是平面地理信息图层;PCI图层展示的是兴趣点搜索结果信息图层;移动导航图层展示的是当前在线所有允许分享位置好友经纬度位置信息及最优路径。
3.2 服务器功能设计
服务器负责接受用户的登陆、注册请求,并推送好友相关的信息,其主要功能包括用户上线处理、下线处理、更新地理位置信息、获取位置信息天气、用户会话、好友移动导航、添加好友,删除好友等功能。
用户上线处理:用户请求登录,得到用户所有信息,并让所有在线好友得到上线通知。
更新地理位置信息:当前用户的地理位置信息发生改变时,通过终端GPS获取当前位置信息,并通过地图数据库实时显示在地图上。
好友移动导航:将允许可见实时在线用户信息的当前位置经纬度按照“用户账号--位置经纬度”一对一结构格式返回至客户端地图上,并根据路径规划算法实时移动导航。
添加好友:根据用户账号发送好友请求时,同意为好友则显示在对方好友列表里,可以进行会话和移动导航。
删除好友:用户选择删除好友后,该好友马上在我的好友列表上消失,会话和移动导航功能同时删除。
3.3 数据库设计
数据库设计是指在给定的应用环境下提供最优的数据模型,采用基于逻辑设计与物理设计相结合的方式抽象应用和数据,从而建立数据库应用系统,有效地存储相关数据,满足用户的应用实际需求。由于MySQL支持开源、多用户、多线程以及成本低、速度快、体积小等优势,而移动导航定位系统应为实时性要求高,故本系统采用MySQL数据库系统。
该系统的数据库主要是为了用户信息以及相应地理位置信息,包括登录用户账号、用户名、登陆密码,经纬度等,在用户信息表中存储信息如表1所列。
4 功能性测试
在无线通信网络或Wi—Fi环境下利用Android平台的智能终端GPS模块获取地理信息,在Android SDK2.3模拟器下完成主要功能功能性测试。登录界面如图6所示,定位界面如图7所示,移动导航界面如图8所示,经分析,用户登录验证、定位功能、移动导航定位等功能均满足预期设计。
结语
本文在对Android平台应用系统特点、GPS定位技术、百度Map API等关键技术研究的基础上,提出一种移动导航定位新的应用场景,设计了基于Android平台的移动导航定位系统,能够较好地提供用户定位、移动导航定位等服务。在对移动导航定位系统新的应用场景研究及其他平台的移动导航定位系统研究与设计提供重要的参考价值,将Map API有效地与定位技术相结合将有很好的应用前景。
Android平台 LBS Map API 移动导航定位 相关文章:
- 基于Android的VoIP系统的设计与实现(03-28)
- 基于Android的QR码识别系统设计(02-09)
- 基于Android 2.3的多媒体播放器软件解决方案(03-11)
- android平台arm指令学习和调试(11-09)
- 基于Android平台与Web服务器的课程管理信息系统(09-12)
- 基于Android平台的电热水器远程控制系统(09-12)