Android 开发百度地图定位显示当前位置

本文详细介绍了在Android Studio中配置百度地图并显示当前位置的步骤,包括获取SHA1,申请百度地图密钥(AK),配置AndroidManifest.xml,布局文件中添加地图容器,初始化地图,以及管理MapView的生命周期。
摘要由CSDN通过智能技术生成

Android 开发百度地图定位显示当前位置

配置百度地图-获取 SHA1

找到自己安装 Android SDK 的位置(,该位置下面有一个 .android 文件夹;使用 cmd 命令进入该文件夹下;然后执行命令 keytool -list -v -keystore debug.keystore;最后就可以得到自己的 SHA1 了。
在这里插入图片描述

获取百度地图密钥(AK)

进入百度地图官网,先注册百度账号,然后申请成为开发者,这两步非常简单,就不在此说明。
成为开发者之后,点击获取密钥。
然后会进入控制台,点击创建应用。
创建应用:
应用名称随便设置一个即可;应用类型选择 Android SDK;启用服务用默认的即可;接着设置发布版 SHA1(在上面的步骤中我们已经得到了SHA1),可不用设置开发版 SHA1;然后设置包名,此包名必须和项目的包名一致,最后提交即可。
提交之后就可以看见我们刚才创建的应用了:
在这里插入图片描述

配置 Android Studio

首先,下载开发包,然后选择自己需要的,然后下载即可:注意,要想使用定位功能的话,必须下载基础定位、离线定位、室内定位和全量定位其中的一个,这一点在官网的文档中也有说明。
下载完成后解压,解压后的文件如下:
其中的 libs 文件目录:
然后在 Android Studio 中进行配置:
(1)添加jar文件,打开解压后的开发包文件夹,找到 BaiduLBS_Android.jar 文件将其拷贝至工程的 app/libs 目录下
(2) 添加so文件
在src/main/目录下新建 jniLibs 目录(如果您的项目中已经包含该目录不用重复创建),在下载的开发包中拷贝项目中需要的CPU架构对应的so文件文件夹到jniLibs目录

(3)往工程中添加jar文件
在工程配置中需要将前面添加的jar文件集成到我们的工程中。
在libs目录下,选中每一个jar文件(此处只有一个 BaiduLbs_Android.jar )右键,选择 Add As Library
此时会发现在 app 目录的 build.gradle 的 dependencies 块中生成了工程所依赖的jar文件的对应说明
(4)打开app目录下的build.gradle文件,在release代码块中添加如下内容(若已经由Android Studio自动生成,则不用手动配置)

proguardFiles getDefaultProguardFile(‘proguard-android-optimize.txt’), ‘proguard-rules.pro’

(5)编写混淆文件,打开app目录下的proguard-rules.pro文件,添加如下代码。

-keep class com.baidu.** { ;}
-keep class mapsdkvi.com.** {
;}
-dontwarn com.baidu.**
至此已完成AndroidStudio开发环境的配置,接下来就使用百度地图。

显示地图

配置 AndroidManifest.xml 文件

1.在 <application>中加入如下代码配置开发密钥(AK):

<application>  
    <meta-data  
        android:name="com.baidu.lbsapi.API_KEY"  
        android:value="开发者 key" />  
</application>

AK 的获取如下:
在这里插入图片描述

  1. <application/>外部添加如下权限声明:
<!-- 访问网络,进行地图相关业务数据请求,包括地图数据,路线规划,POI检索等 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 获取网络状态,根据网络状态切换进行数据请求网络转换 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 读取外置存储。如果开发者使用了so动态加载功能并且把so文件放在了外置存储区域,则需要申请该权限,否则不需要 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 写外置存储。如果开发者使用了离线地图,并且数据写在外置存储区域,则需要申请该权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

在布局文件中添加地图容器

<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:clickable=“true” />

初始化地图

新建一个自定义的 Application 类 DemoApplication.java,在其onCreate方法中完成SDK的初始化。示例代码如下:

public class DemoApplication extends Application {
   
    @Override
    public void onCreate() {
   
        super.onCreate();
        //在使用SDK各组件之前初始化context信息,传入ApplicationContext   
        SDKInitializer.initialize(this);
        //自4.3.0起,百度地图SDK所有接口均支持百度坐标和国测局坐标,用此方法设置您使用的坐标类型.
        //包括BD09LL和GCJ02两种坐标,默认是BD09LL坐标。
        SDKInitializer.setCoordType(CoordType.BD09LL)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值