百度地图Android定位SDK的使用

  1. AK的获取
    登录百度地图开放平台,点击开发文档→Android定位SDK→创建应用→配置SHA1和包名→提交生成AK
    在这里插入图片描述
    创建应用
    在这里插入图片描述
    配置SHA1和包名
    通过Android studio获取SHA1
    (1)打开Android studio,未下载的可以点击下面链接进行下载和安装,进入Android studio,找到Terminal工具
    Android Studio的简易安装和运行hello word程序
    在这里插入图片描述
    输入命令行和密码
    命令行:keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey(注意目录的选择,否则会出现下面错误)
    密码:一般为android
    在这里插入图片描述
    在-keystore后面改为自己debug.keystore的路径,然后输入密码
    在这里插入图片描述
    在这里插入图片描述
    通过Android studio获取包名
    包名以bulid.gradle文件中的applicationID为准
    在这里插入图片描述
    以获取的SHA1和包名填写
    在这里插入图片描述
    点击提交生成AK
    在这里插入图片描述
  2. Android Studio配置
    (1) 打开或新建一个Android 工程
    (2) 下载并添加SDK(jar+so),建议DEMO下载
    在这里插入图片描述
    将下载的文件放在工程libs文件下
    在这里插入图片描述
    (3) 配置bulid.gradle(app)文件,在android{}里添加以下代码,以关联app.libs文件夹
    下的.so文件
    sourceSets{
    main{
    jniLibs.srcDir ‘libs’
    }
    }
    然后添加.jar文件依赖
    dependencies {
    implementation files(‘libs/BaiduLBS_Android.jar’)
    }
    在这里插入图片描述
    (4)在AndroidManifest.xml配置文件中的中添加AK
<meta-data
    android:name="com.baidu.lbsapi.API_KEY"
    android:value="AK" >填写自己获取的AK
</meta-data>

在这里插入图片描述
(5) 在AndroidManifest.xml中添加定位权限,权限添加在application之外
在这里插入图片描述
接着就可以开发一个简单的Hello BaiduMap了
(1) 首先在activity_main.xml文件中添加地图控件

<com.baidu.mapapi.map.MapView
        android:id="@+id/bmapView"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:clickable="true"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

(2) 在MainActivity.java文件的onCreate()方法中加入
SDKInitializer.initialize(getApplicationContext());用来初始化context,需要在setContentView(R.layout.activity_main);语句之前添加,否则会出现闪退
在这里插入图片描述
(3) 然后创建地图Activity,管理地图生命周期

public class MainActivity extends Activity {
    private MapView mMapView = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        SDKInitializer.initialize(getApplicationContext());
        setContentView(R.layout.activity_main);
        //获取地图控件引用
        mMapView = (MapView) findViewById(R.id.bmapView);
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
        mMapView.onDestroy();
    }
    @Override
    protected void onResume() {
        super.onResume();
        //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
        mMapView.onResume();
    }
    @Override
    protected void onPause() {
        super.onPause();
        //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
        mMapView.onPause();
    }
}

运行程序,得到的结果如下
在这里插入图片描述
按住鼠标可以移动地图,双击可以放大(下面是双击的效果)
在这里插入图片描述
过程中遇到问题(希望对你们有帮助):
(1)从AndroidManifest.xml查找问题,发现添加单行注释导致问题
在这里插入图片描述
在这里插入图片描述
解决方法:将//改为头部<!-- ,尾部- ->即可
(2)缺少约束条件
在这里插入图片描述
在这里插入图片描述
解决方法:在activity_main.xml中点击左下方Design,然后点击上方的Infer Constraints即可
在这里插入图片描述
(3)libs文件夹下的 .so 和.jar包来自不同的官方demo中
在这里插入图片描述
解决方法:下载下面圈的压缩包,解压将里面的libs文件夹替换AS工程里的libs文件夹,然后点击上面红色字母,按alt+enter就行了。
在这里插入图片描述
百度地图开放平台链接

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值