1、让IT教学更简单,让IT学习更有效Android程序设计教程第十章 GPS地图定位目录 10.1 位置服务 10.1.1申请API Key 10.1.2 GPS定位 10.2 显示百度地图 10.3 百度地图定位 10.4 百度地图检索学习目标 了解百度地图的位置服务 掌握百度地图的显示 掌握百度地图定位 掌握百度地图检索10.1 位置服务 位置服务(Location Based Services,LBS),又称定位服务或基于位置的服务,融合了GPS定位、移动通信、导航等多种技术,提供了与空间位置相关的综合应用服务。位置服务首先在日本得到商业化的应用。10.1.1申请API Key首先,登录你
2、的百度账号,并打开http:/ 接下来,访问http:/ Key了,这个发布版的SHAI和开发版的SHAI是我们申请API Key所必须填写的一个字段,它指的是打包程序时所用签名文件的SHAI指纹,可以通过Android Studio查看到。打开Android Studio中的任意一个项目,点击右侧工具栏的Gradle项目名:appTasksandroid,如图10.5所示。这里展示了一个Android Studio项目中所有内置的Gradle Tasks,其中signingReport这个Task就可以用来查看签名文件信息。双击signingReport,10.1.2 GPS定位在开始编码之
3、前,我们还需要先将百度LBS开放平台的SDK准备好,下载地址是:http:/ Studio创建一个GPS为名称的应用项目,打开其项目结构,发现app模块下面有一个libs目录,这里就是用来存放所有的jar包的,我们将BaiduLBS_Android.jar复制到这里。(2)展开src/main目录,右击该目录NewDirectory,再创建一个名为jniLibs的目录,这里是专门用来存放so文件的,然后把压缩包里的所有目录直接复制到这里。由于我们是直接将jar包复制到libs目录下的,并没有修改gradle文件,因此不会弹出我们平时熟悉的Sync Now提示,这个时候必须手动点击一下Andro
4、id Studio顶部工具栏中的 Sync按钮,不然项目将无法引用到jar包中提供的任何接口。点击Sync按钮之后,libs目录下的jar文件就会多出一个向右的箭头,这就表示项目能够引用到这些jar包了。10.2 显示百度地图(1)获取API KEY。打开http:/ KEY。(2)新建ShowMap工程,在libs目录下,配置 BaiduLBS_Android.jar包,再创建一个名为jniLibs的目录,复制相关的文件到该目录下。10.3 百度地图定位 百度LBS SDK的API中提供了一个BaiduMap类,它是地图的总控制器,调用MapView的getMap()方法就能获取到Baidu
5、Map的实例,例如:BaiduMap BaiduMap=mapView.getMap();MapStatusUpdate update=MapStatusUpdateFactory.zoomTo(12f);baiduMap.animateMapStatus(update);其中,MapStatusUpdateFactory类的zoomTo()方法接收一个float型的参数,就是用于设置缩放级别的。zoomTo()方法返回一个MapStatusUpdate对象,我们把这个对象传入BaiduMap类的animateMapStatus()方法当中,即可完成缩放功能。LatLng主要就是用于存放经纬度
6、值的,它的构造方法接收两个参数,第一个参数是经度值,第二个参数是纬度值。之后调用MapStatusUpdateFactory类的newLatLng()方法将LatLng对象传入BaiduMap类的animateMapStatus()方法当中,就可以将地图移动到指定的经纬度上了,写法如下:LatLng ll=new LatLng(29.553,106.236);MapStatusUpdate update=MapStatusUpdateFactory.newLatLng(ll);baiduMap.animateMapStatus(update);10.4 百度地图检索 百度地图SDK提供了三种类型的POI检索:周边检索、区域检索和城市内检索。谢谢