在日常的开发过程中,很多应用中国多多少少都会用到定位功能,而定位功能则是基于地图开发的,就是需要集成地图,今天我要说的就是集成百度地图
话不多说,直接上
1.要集成百度地图首先就要先注册百度开发者账号,注册就不多说了,直接到百度开发者中心注册,不会的可以自行百度,再不会的可以通过博客私聊我
2.注册完百度开发者账号后就是创建应用,获取AK
---1:http://lbsyun.baidu.com/index.php?title=首页
3.提交之后就能获取到AK
4.下载sdk包放入libs文件下添加add,下载地址:http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download
在bulider.gradler下配置
sourceSets { main { jni.srcDirs=[] jniLibs.srcDirs = ['libs'] }
5.在项目中配置获取到的ak
在项目的清单文件中application下配置如下
隐藏部分为你在百度开发者中心获取到的AK
再配置如下到清单文件中,同样是在application下
6.清单文件中配置权限
<!-- 这个权限用于进行网络定位--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> <!-- 这个权限用于访问GPS定位--> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位--> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> <!-- 获取运营商信息,用于支持提供运营商信息相关的接口--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位--> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> <!-- 用于读取手机当前的状态--> <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <!-- 访问网络,网络定位需要上网--> <uses-permission android:name="android.permission.INTERNET" /> <!-- SD卡读取权限,用户写入离线定位数据--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
至此,集成百度地图的相关工作已经差不多了,接下来就是代码的部分来了
1、在xml文件中使用百度地图控件
接着在应用的Activity文件中使用
使用之前先给百度地图的SDK进行初始化
在setContentView之前初始化,但是我个人比较喜欢在Application里面做初始化
初始化成功之后就是使用百度地图控件
/** * 地图初始化 */ //获取百度地图控件 mMapView = findViewById(R.id.mapview); //获取百度地图对象 mMap = mMapView.getMap(); //开启定位图层 mMap.setMyLocationEnabled(true); //设置定位图标是否有箭头 mMap.setMyLocationConfiguration(new MyLocationConfiguration(MyLocationConfiguration.LocationMode.FOLLOWING, true,null));
至此百度地图已经能正常在应用中显示出来了
要是有看不懂或者疑问的地方可以通过博客提问,或者联系本人邮箱
JimvenGao@163.com
共同学习与进步