百度地图API的安卓开发技术研究

2017-10-31 09:37董杰马宏琳
电脑知识与技术 2017年23期
关键词:安卓

董杰 马宏琳

摘要:百度地图是国内主要的地图服务提供商,提供了Web开发和移动开发等多种开发SDK,该文以安卓平台为基础,进行了百度地图API开发的技术研究,对开发流程和实现技术细节进行了说明,实现了搜索地点,切换视图,路线规划和定位,导航等功能。

关键词:百度地图;安卓;API

1背景

随时C-IS技术fGeographical information System GIS)的发展和应用,基于地图的位置信息服务成为当前计算机技术的研究热点之一。国内有以百度地图、高德地图为代表的地图服务商,为用户提供免费的地图位置服务。其中百度地图是国内处于领先地位的地图位置服务商,研究基于其API的各项服务功能对于相关应用的开发具有明显的现实意义。

百度地图是百度提供的一项网络地图搜索服务,覆盖了国内近400个城市、数千个区县。提供的软件开发工具包SDK(Software Development Kit)支持多种开发方式,包括Web开发、移动开发、服务接口等多种形式。移动开发是其主要应用场景之一,Android平台又在移动平台中占据主要地位,据KantarWoroldpanel公司2017年4月調查数据显示,中国的Android平台市场占有率达83.4%,iOS平台市场占有率为16.2%~1。因此,本文选安卓平台作为基础系统平台。

2百度地图的Android开发SDK

百度地图Android SDK是一套基于Android 2.3及以上版本设备的应用程序接口。可以使用该套SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK接口,可以访问百度地图服务和数据,构建功能丰富的地图类应用程序。

通过百度地图API提供的方法,能够方便地使用百度移动地图的相关技术和信息。百度地图API主要提供了地图、定位、鹰眼轨迹、导航、全景等SDK。

3系统设计

3.1功能分析

对于Android平台的移动地图应用,地图浏览、周边搜索、路径规划、导航、实时路况等是常见的功能应用。本文选自上述功能进行系统设计,确定主要功能如下。

1)地图控制:可以对地图实现俯视,旋转,放大缩小等功能。2)实时定位:可以将用户当前位置在地图上显示出来,并即时获取位置信息。3)地图模式:能够让地图显示卫星视图,交通视图和普通视图。4)周边搜索:能够搜索附近的美食,酒店等信息。5)路线规划:能够根据用户输入的起始点信息,为用户规划路线。6)路线导航:可以在地图上规划出用户的路线,并进行语音导航。7)实时路况:能够实时掌握交通路况信息。

基于上述功能分析,可以得到用户视域的业务流程图,如图1所示。

3.2详细设计

搜索:使用PoiSeareh类负责搜索,设置OnGetPoiSearehResuhListener监听事件,来操作搜索结果,更人性化、更直观的展示给用户。

视图切换:使用BaiMap对象,调用setMapType(int arg)设置地图的显示模式。即BaiduMap.MAP_TYOE_NORMAL代表标准视图,BaiduMap.MAP_TYPE_SATELLITE代表卫星视图。同时,调用setTrafficEnabled(booleanⅡag)方法设置交通图是否显示,true代表显示,false代表不显示f即实时路况信息)。

定位:使用LoeationClient类,创建定位对象。使用Loca-tionClientOption类设置定位的配置参数,譬如设置坐标类型等。使用BDLocationListener类监听当前位置的信息,以便进行实时定位。

路线规划:使用RoutePlanSeareh类负责步行、驾车等路线的规划。使用相应的路线规划配置类(譬如,步行配置类Walk—ingRoutePlanOption)进行路线的起始点等信息的配置。同时,使用OnGetRoutePlanResuhListener类监听路线搜索,并进行相应的处理。

导航:使用BaiduNaviManager类,调用launchNavigator方法使用定位导航的功能。

4系统实现

4.1开发工具及环境

本文的Android应用使用eclipse IDE开发工具,采用iava语言编写开发。

Java语言是一种跨平台的语言,包含多线程,简单性,高性能等优点,是Android系统上软件的主要开发语言。Java语言是一种动态的解释型语言,具有较高的安全性,可移植性,结构中立,可分布式开发。

4.2系统实现方法

系统实现是软件开发的一个非常重要的部分。经需求分析,系统设计之后,接下来就是具体的程序编码和功能实现。

对于一个地图系统来说,定位和视图,地图控制,搜索是比较常用的功能,所以把这些信息显示在主界面,方便用户操作。对于主界面上的搜索框,采用了EditText标签,旁边的搜索按钮采用BuRon标签。同时,“地球”图标和定位图标采用ImageView标签实现。同时,为各个按钮设置监听触发,来完成相应的功能。如图2所示。

主要技术实现,在地图布局中设置相应的点击监听类OnMapClickListener,每次点击,就会触发监听对象,然后,在该点击监听类中的onMapClick(LatLng latLng)方法内,编写对此地图点击事件的处理过程,那么该监听对象就会调用该方法进行相应的处理工作。

其他功能实现与此类似,不再赘述。

5结束语

本文以百度地图提供的安卓平台API调用接口为基础,采用JAVA语言进行了开发技术研究,实现了地图控制、实时定位、周边搜索、路线规划、路线导航等功能,实践证明,通过百度地图API可以快速高效的进行地图位置服务应用开发,效果良好。endprint

猜你喜欢
安卓
MIPS安卓平台上ARM二进制翻译系统
让iPhone变安卓,这是真的野
文物表情包
基于安卓手机用户行为的人口学信息预测
安卓系统或成智能汽车标配
一种基于安卓系统的手机侧抓包分析方法
学习安卓应用开发
功能不输iOS8!全新安卓Messenger发布
安卓L未至安卓M来了!安卓首泄漏M系统