百度地图有感

以前总认为坚持会让我们变强大,但是长大后发现,让我们强大的,是放下。

生活也许就是这样,多一分经验便少一分幻想,以实际的愉快平衡现实的痛苦。


百度地图开放平台

百度地图入门指南

百度地图开发指南

百度地图API文档

接入方式:

按照百度地图开发指南的说法,目前在国内主要采用的是Gradle集成方式

曾记否,当年接百度地图还需要引入.so库… (更重要的是,那一年我还年轻…)

在这里插入图片描述
需要我们注意的是,Gradle依赖时可能会出现多个组件冲突的问题,百度地图官方也给我们提供了解决方案:
在这里插入图片描述

获取并设置密钥

密钥的获取,请点击这里查看:注册和获取密钥

重点提一下,有两种方式设置密钥(任选其一):

  • 配置在AndroidManifest.xml文件中
 <meta-data
      android:name="com.baidu.lbsapi.API_KEY"
      android:value="AK" >
  </meta-data>
  • 配置在代码中:
LocationClient.setKey(AK);

添加定位权限

第一步:

需在AndroidManifest.xml文件中Application标签中声明service组件

第二步:

<!-- 这个权限用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<!-- 这个权限用于访问系统接口提供的卫星定位信息-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<!-- 获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<!-- 访问网络,网络定位需要上网-->
<uses-permission android:name="android.permission.INTERNET"></uses-permission>

在这里,我们需要特别注意这两个权限是需要动态获取的,否则将会出现定位失败的问题 —— 经典的4.9E-324错误 可以从 定位返回码查看相应的错误码含义。

<!-- 这个权限用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<!-- 这个权限用于访问系统接口提供的卫星定位信息-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>

我们可以使用 EasyPermissions 来进行权限管理。

PS: 关于隐私合规问题

猜你喜欢

转载自blog.csdn.net/wangcheeng/article/details/128007897
今日推荐