1.在AndroidManifest.xml中的<application>加入开发密钥
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="开发者key"/>
如下图:
获取开发者KEY(上篇文章已经创建好了应用,我们直接在控制台获取key):
在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" /> <!--//允许sd卡写权限,需写入地图数据,禁用后无法显示地图--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!--//这个权限用于进行网络定位--> <uses-permission android:name="android.permission.WRITE_SETTINGS" tools:ignore="ProtectedPermissions" /> <!--//这个权限用于访问GPS定位--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!--//获取统计数据--> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!--//使用步行AR导航,配置Camera权限--> <uses-permission android:name="android.permission.CAMERA" /> <!--//程序在手机屏幕关闭后后台进程仍然运行--> <uses-permission android:name="android.permission.WAKE_LOCK" />
如下图(网络定位那一段会报红,Alt + Enter就可以解决):
在布局文件中添加地图容器:
<com.baidu.mapapi.map.MapView android:id="@+id/baiduMapView" android:layout_width="0dp" android:layout_height="0dp" android:clickable="true" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.0" app:layout_constraintHorizontal_bias="1.0"/>
如下图:
修改build.gradle文件(添加如下代码):
multiDexEnabled true
如下图:
运行项目: