百度地图API使用(Android Studio教程)
教程是关于百度地图API的使用(供新手使用)
1.获取百度地图API的密钥
百度地图API密钥是使用权限,说白了就是允许你使用API,当然你需要到百度申请。
https://www.baidu.com/link?url=A_Ns8iIioD6IrJmOSSJa3yOA44y7zwi2qijI0eD78fxyfx4q-5BeLAMe4FipAMsJ&wd=&eqid=bbdfd4a90001d0b1000000035d19d2df
(ps:
1.密钥是免费的
2.其中有一项要填写SHA1,发布版的可以不用写,开发的是要填写的,具体方法自己看
https://www.cnblogs.com/lliuhh/p/8682230.html
找到后直接复制粘贴就行了。
)
2.下载API
鼠标点到 开发文档-------->>>android sdk---------->>>产品下载(侧边)
显示开发包下载(SDK)和Demo下载(例子)
点击 自定义下载 会出现如图所示
ps:
1.功能自己选择(定位和基本地图一定要选,不然GG)
2.下载完,把SDK解压出来
3.导入API(重点!!!)
导入错误,后面编程会一直报错比如初始化失败,而缺少部分包时有些功能没法用!
1.点android(小机器人旁边) 切换到 project
2.点APP 将libs中的包都复制粘贴
3.jniLibs是没有的,可以创建后复制进去,简单点方法直接把下载包里面的jniLibs直接复制进去。
4.onesdk_all和NaviTts,也必须导入!!(不导入会报错,别问我怎么会知道的,说多了会流泪)放入APP下面,还要在setting.gradle 添加 include ‘:app’,‘onsdk_all’,‘NaviTts’
5.在bulid.gradle中添加依赖,在导入包上右击有一个add dependencies。其中
implementation(name: ‘onsdk_all’, ext: ‘aar’)
implementation(name: ‘NaviTts’, ext: ‘aar’)
这两句一定要加上去!!!!!!!
4.密钥设置
在Manifest中添加,具体点就是application 标签里面添加
5.提醒
1.一定要先初始化地图
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());//就是这句话放的位置尽量不要变
2.运行时,最好用实体手机运行,虚拟机运行部分情况会报错,但是程序是没问题的
3.还有系统问题和安装APK时,可以把下面的添加到bulid.gradle,实在解决不了,问度娘
ndk {
// 设置支持的SO库架构.目的是确保最终的 apk 中只包含指定 cpu 架构文件
moduleName "states"
ldLibs "log", "z", "m"
abiFilters "armeabi", "armeabi-v7a", "x86"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a', 'x86_64'
universalApk true
}
repositories {
flatDir {
dirs 'libs'
}
}
}
4.在Manifest添加权限
<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.WRITE_EXTERNAL_STORAGE” /> //允许sd卡写权限,需写入地图数据,禁用后无法显示地图
<uses-permission android:name="android.permission.WRITE_SETTINGS"tools:ignore=“ProtectedPermissions” />
<uses-permission android:name=“android.permission.ACCESS_COARSE_LOCATION” /> //这个权限用于访问GPS定位
<uses-permission android:name=“android.permission.ACCESS_FINE_LOCATION” /> //获取统计数据
<uses-permission android:name=“android.permission.CAMERA” />//使用步行AR导航,配置Camera权限
<uses-permission android:name=“android.permission.WAKE_LOCK” /> //程序在手机屏幕关闭后后台进程仍然运行
<uses-permission android:name=“android.permission.READ_EXTERNAL_STORAGE” />
<uses-permission android:name=“android.permission.MOUNT_UNMOUNT_FILESYSTEMS”
tools:ignore=“ProtectedPermissions”>
5.现在的手机大部分,需要自己手动设置软件权限,千万不要忘了!!