配置环境
1.获取AppKey
1.创建应用地址:http://lbsyun.baidu.com/apiconsole/key
2.创建应用:
3.获取SHA1值,首先cmd打开dos窗口
4.cd .android 切换到 .android目录
5.使用keytool -list -v -keystore debug.keystore获取指纹整数中的SHA1值,输入口令直接回车或者输入android即可:
6.得到的指纹整数SHA1值
7.获取应用的包名(PackageName):
这个是包名 PackageName
8.把SHA1和PackageName放到对应的位置点击确定,得到APPKEY
2.配置AndroidManifest.xml文件
1.设置你的APPKEY
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="你的 AppKey" />
2.添加用户权限
<!-- 百度地图需要的权限 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
3.基础地图实现
效果图
1.在布局文件添加地图控件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.demo.baidumapblog.ShowMapActivity">
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
</RelativeLayout>
2.初始化地图控件并管理控件的生命周期
package com.demo.baidumapblog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.MapView;
public class ShowMapActivity extends AppCompatActivity {
private MapView mMapView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
//注意该方法要再setContentView方法之前实现
//使用百度地图的任何功能都需要先初始化这段代码 最好放在全局中进行初始化
//百度地图+定位+marker比较简单 我就不放到全局去了
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.a