场景
效果
在使用百度地图API之前需要先在百度地图开放平台中申请API_KEY
申请API_KEY
登录百度开放平台后找到控制台下的应用管理-创建应用
依次输入应用名,应用类型选择Android SDK
然后下面需要输入发布版SHA1和包名
获取应用SHA1
首先来到.Android文件所在的位置,默认位置如下
如果修改过就要到修改的路径下。
AndroidStudio修改默认C盘配置文件夹(.android.gradle.AndroidStudio)以及修改后避免踩的坑:
我这里是修改过,所以这里的路径是在D:Android
在此路径下打开命令行窗口。
这里采用使用JDK自带的keytool工具生成
keytool默认路径:C:Program FilesJavajdk1.8.0_181in
然后将keytool.exe拖到上面打开的.Android所在路径命令行窗口中,然后再后面输入
-list -v -keystore debug.keystore
回车。然后提示输入密钥库命令,直接回车
然后就可以在证书指纹中获取SHA1
然后再回到百度开放平台点击提交。就可以获取开发密钥了。
获取Android地图SDK
然后再回到百度开放平台中开发文档下的Android开发下Android地图SDK
然后选择自定义下载
然后这里只勾选几个基本功能,具体功能根据自己需求勾选,然后点击下方的开发包和示例代码进行下载
项目中集成SDK
使用AndroidStudio新建项目,将项目视图由Android切换为Project
这样就会显示libs目录,然后解压上面下载的开发包,可以看到其下面libs目录下两个jar包,将其复制到项目的lib下
然后选中这两个jar包右键Add As Library,添加到库
然后在src/main下新建JNIlibs目录
然后将上面SDK下libs下的所有目录复制到此目录下
然后将项目切换回Android视图下,打开activity_main.xml修改布局文件
将布局修改为相对布局,并添加百度地图组件,并设置id
android:id="@+id/bmapview"android:layout_width="match_parent"android:layout_height="match_parent"android:clickable="true"/>
然后来到MainActivity.java中,首先声明地图组件然后再onCreate方法中初始化地图SDK,注意初始化地图SDK
的代码要放在setContentView的代码前。
然后还需要分别设置地图组件的声明周期。
package com.badao.baidumap;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.MapView;public classMainActivity extends AppCompatActivity {private MapView mapView;//声明地图组件
@Overrideprotected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);//初始化地图SDK
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
mapView=(MapView) findViewById(R.id.bmapview);
}
@Overrideprotected voidonPause() {
super.onPause();
mapView.onPause();
}
@Overrideprotected voidonDestroy() {
super.onDestroy();
mapView.onDestroy();
mapView= null;
}
@Overrideprotected voidonResume() {
super.onResume();
mapView.onResume();
}
}
然后打开mainfests下的AndroidManifest.xml
首先添加meta-data标签,内容如下
android:name="com.baidu.lbsapi.API_KEY"android:value="申请的开发密钥"/>
然后进行权限的声明。完整示例代码
android:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme">
android:name="com.baidu.lbsapi.API_KEY"android:value="申请的开发密钥"/>
这块代码可以参照之前在百度开放平台下载的示例代码。
或者可以参照官网的开发指南
然后需要将项目运行在可联网的真机或者第三方模拟器上