使用百度地图SDK
1.首先导入相关架包
2.在AndroidManifest.xml中添加相关权限和密钥
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
//获取设备网络状态,禁用后无法获取网络状态
<uses-permission android:name="android.permission.INTERNET" />
//网络权限,当禁用后,无法进行检索等相关业务
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
//读取设备硬件信息,统计数据
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
//读取系统信息,包含系统版本等信息,用作统计
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
//获取设备的网络状态,鉴权所需网络代理
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
//允许sd卡写权限,需写入地图数据,禁用后无法显示地图
<uses-permission android:name="android.permission.WRITE_SETTINGS" tools:ignore="ProtectedPermissions"/>
//获取统计数据
<uses-permission android:name="android.permission.CAMERA" />
//使用步行AR导航,配置Camera权限
我这里只是列举一些,根据自己需要完善权限
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="BgAaYlKSeLMLNhFdTU6CcOYrM35kw3Si"/>
<service
android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote"
android:permission="android.permission.BAIDU_LOCATION_SERVICE">>
<intent-filter>
<action android:name="com.baidu.location.service_v2.6" >
</action>
</intent-filter>
</service>
android:value=“这里添加自己在百度地图sdk官网申请的AK”,而且在Application标签中声明SERVICE组件,每个APP拥有自己单独的定位SERVICE百度sdk申请官网
这个要注意了包名一定不能错!!!这里有一段不堪回首的往事略过。。。
这个就是我们要使用的AK。
包名需要在文件build.gradle中查询 applicationId,并确保 applicationId 与在 AndroidManifest.xml 中定义的包名一致
在文件build.gradle中查询 applicationId,方法如图:
Android签名证书的sha1值获取方式有两种:
第一种方法:使用keytool
第1步:运行进入控制台
第2步:定位到.android文件夹下,输入cd .android
第3步:输入keytool -list -v -keystore debug.keystore,会得到三种指纹证书,选取SHA1类型的证书(密钥口令是android),例如:
其中keytool为jdk自带工具;keystorefile为Android 签名证书文件
成功创建KEY
3.在android studio中的一些配置
有问题的欢迎留言讨论~这里是我在fragment中简单应用百度地图SDK源码分享