项目需求:
- 接入地图
- 定位位置
- 设置百度地图上的各种图标
- 加载方格的问题
接入地图
1.创建应用
接入的是百度地图,首先去百度地图开放平台上添加应用。在http://lbsyun.baidu.com/apiconsole/key/create网址中创建应用,没有百度账号的,先注册百度账号。
在创建应用页面:
应用名称:随意填写;
启用服务:根据需求自行选择;
SHA1:在android studio右侧的Gradle里面,选择项目的Taks中的android中的signingReport,则在run中显示所需的SHA1值和MD5的值。注:若没有SHA1的值,先去给Build菜单里面Generate signing apk
包名:在build.gradle里面,applicationId 为包名,若Manifest.xml中的包名与其不一致,取build.gradle里面的为准。
创建完成后会生成AK值,在权限中需要填写
2.下载百度地图jar包
把下载好的jar包复制到工程的libs中,然后右键选择add as library
在main目录下,创建jniLibs文件夹,将剩下的所有文件全部复制到该文件夹下
在build.gradle中,android里面添加sourSet,这样才能关联到so文件
sourceSets{
main{
jniLibs.srcDir 'libs'
}
}
3.添加权限
<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" />
//获取统计数据
<uses-permission android:name="android.permission.GET_TASKS" />
//鉴权所需该权限获取进程列表
<uses-permission android:name="android.permission.CAMERA" />
//使用步行AR导航
还需要在application里添加meta_data添加代码
<meta-data android:name="com.baidu.lbsapi.API_KEY"
android:value="VvVpQ7Xukgv5Ko7cK3Cru4p32LoruNqZ"/>
其中name是固定的,value是在百度开发平台创建应用生成的AK值
4.在布局里添加mapView控件
在setContentView方法前面,添加代码
SDKInitializer.initialize(getApplicationContext());
运行即可显示地图
还可以在加上mapView与activity的生命周期绑定
@Override
protected