1.application中的配置
- 我们需要在application的节点中进行配置百度地图的key,如果不知道怎样配置key请点击这里
代码如下:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
//注意 key是在application节点下的,不要配置错.
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="你申请的key"/>
//百度地图的服务
<service
android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote" >
在key下面有一个service 这个是百度的服务,我们也可以提前进行配置.
* 权限设置,这里就不多说了,直接上代码,官方文档点这里
<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导航,配置Camera权限
下面我们可以进行百度地图的引入了.
1.在布局中添加百度地图控件,代码如下.
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
注意:此处与百度官方文档有些区别!
2. 在MainActivity中初始化控件前需引入
先看代码
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//获得一个全局的变量
SDKInitializer.initialize(getApplicationContext());
//转化为国策局的坐标
SDKInitializer.setCoordType(CoordType.GCJ02);
setContentView(R.layout.activity_main);
我们需要在onCreate()方法内setContextView前进行两行代码的书写.
SDKInitializer.initialize(getApplicationContext());
这个是获得一个全局的变量
SDKInitializer.setCoordType(CoordType.GCJ02);
这个是将坐标转化为国策局坐标,如果定位显示总是有一些偏差的话就有可能是没有转化坐标,加上这行代码就可以了(官方文档没有这样加,个人做法,加其他地方也可以);
3.findViewById, 这里也不解释.先获得地图控件,再找到地图.
mMapView = (MapView) findViewById(R.id.bmapView);
mBaiduMap = mMapView.getMap();
//设置百度的默认类型
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);