最近在做一个两年前被搁置的项目,涉及到定位,但是有些功能已经用不了了,所以更新SDK又集成了一次,非常简单,这里只做入门级讲解,官方文档也很详细的。

准备工作

1.打开百度地图开放平台,找到功能与服务,选择定位,点击Android 定位SDK(v7.5),然后这就是官方文档了。
2.然后注册登陆,创建应用,填写之后得到一个AK,以前是AppKey,一个意思。

a. 应用名称:开发者请自行定义,建议与应用名称一致,便于管理;
b. 应用类型:开发者请注意选择为Android SDK,选择其他类型,将导致所生成的AK不可用;(启用服务默认全部启用即可)
c. 填写SHA1和包名:这两个信息请开发者注意准确填写,它们是AK验证合法性的唯一依据。

SHA1获取方法:

  1. 打开Android Studio,进入Terminal工具,如下图所示:

  2. 输入命令行和密码,即可获取SHA1等信息。
    命令行:keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey (注意目录选择、开发版本、发布版本等问题);
    密码:原始密码一般为android,开发者根据实际情况填写。

包名大家应该知道怎么弄的吧。。

配置工作

1.在文档的下方有一个相关下载 tab,解压之后如下图所示

2.然后把arm64-v8aarmeabiBaiduLBS_Android.jar 三个文件拷到项目中的libs文件夹下

3.配置build.gradle文件,设置sourceSets

4.配置AK

<meta-dataandroid:name="com.baidu.lbsapi.API_KEY"android:value="开发者申请的AK" >
</meta-data>

5.配置权限和service

<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"> </service>
<!-- 这个权限用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<!-- 这个权限用于访问GPS定位-->
<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.READ_PHONE_STATE"></uses-permission>
<!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<!-- 访问网络,网络定位需要上网-->
<uses-permission android:name="android.permission.INTERNET" />
<!-- SD卡读取权限,用户写入离线定位数据-->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>

ok,到这里就配置完了。

开始使用

以service为例

1.初始化LocationClient类,
2.并注册监听MyLocationListener,
3.然后通过LocationClientOption 来配置一些参数选项,
4.在MyLocationListener 的回调中,可以通过BDLocation 对象获取定位信息

public class MyLocationService extends Service {private LocationClient mLocationClient = null;private BDLocationListener myListener = new MyLocationListener();@Overridepublic void onCreate() {LocationClientOption option = new LocationClientOption();option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);//可选,默认高精度,设置定位模式,高精度,低功耗,仅设备option.setCoorType("bd09ll");//可选,默认gcj02,设置返回的定位结果坐标系int span = 1000 * 300;option.setScanSpan(span);//设置发起定位请求的间隔option.setOpenGps(true);//可选,默认false,设置是否使用gps//可选,是否需要地址信息,默认为不需要,即参数为false//如果开发者需要获得当前点的地址信息,此处必须为trueoption.setIsNeedAddress(true);mLocationClient = new LocationClient(getApplicationContext());//声明LocationClient类mLocationClient.setLocOption(option);mLocationClient.registerLocationListener(myListener);//注册监听函数mLocationClient.start();}@Overridepublic int onStartCommand(Intent intent, int flags, int startId) {return super.onStartCommand(intent, flags, startId);}@Overridepublic IBinder onBind(Intent intent) {return null;}public class MyLocationListener implements BDLocationListener {/*** 定位成功之后回调的方法*/@Overridepublic void onReceiveLocation(BDLocation location) {LogUtil.i("经纬度===", String.valueOf(location.getLongitude()) + "---" + String.valueOf(location.getLatitude()));LogUtil.i("省市区==="+location.getProvince()+location.getCity()+location.getDistrict());}}
}

打印

其它参数:

        double latitude = location.getLatitude();    //获取纬度信息double longitude = location.getLongitude();    //获取经度信息float radius = location.getRadius();    //获取定位精度,默认值为0.0f
        String addr = location.getAddrStr();    //获取详细地址信息String country = location.getCountry();    //获取国家String province = location.getProvince();    //获取省份String city = location.getCity();    //获取城市String district = location.getDistrict();    //获取区县String street = location.getStreet();    //获取街道信息

ok,简单的集成使用就这么简单,官方文档也是比较详细的。

Android 百度地图定位相关推荐

  1. android获得图片的坐标,Android百度地图定位后获取周边位置的实现代码

    本文实例讲解Android百度地图定位后获取周边位置的实现代码,分享给大家供大家参考,具体内容如下 效果图: 具体代码: 1.布局文件 android:orientation="vertic ...

  2. Android百度地图定位APP,显示出当前位置坐标

    Android百度地图定位APP,显示出当前位置坐标 官网配置百度地图 通过CMD命令获取SHA1 在百度的官网里面创建一个应用 Android配置 显示地图即定位 配置 AndroidManifes ...

  3. unlegal android,百度地图定位 Cordova 插件 cordova-plugin-baidumaplocation

    软件介绍 百度地图定位Cordova插件,支持Android,IOS 可以在此地址查看example 基于百度地图Android版定位SDK(v7.1)以及百度地图IOS SDK (v3.2.1) 一 ...

  4. android 百度地图定位总结

    百度地图用过几次,往往用过即忘,疏于总结,这次归纳一下 api-key, jar导入,Menifest.xml配置参考官方文档, 基于jar包 3.6.1版,地图sdk版本不同,方法会有差异 效果图: ...

  5. android 百度地图定位辅助教程

    这里使用讲解的是androidStudio下开发android应用,实现百度地图定位功能的辅助教程. 登入百度地图API官方网站http://lbsyun.baidu.com/ 在主页中选择开发-&g ...

  6. android 百度地图定位SDK使用方法

    本以为gps定位就只是拿个经纬度,不会很复杂,结果折腾了一下午才弄好,惭愧啊~ Ps:今天练跆拳道,刚热身就两条腿一起抽筋,难道是平时撸多了......好吧,我想多了,废话不多说,开始入正题~ 首先介 ...

  7. android百度地图定位自定义图标,Android应用开发之android 百度地图自定义圆,更改默认图标等常用方法...

    本文将带你了解Android应用开发之android 百度地图自定义圆,更改默认图标等常用方法,希望本文对大家学Android有所帮助. 总结了一下百度地图常用的方法(前提是集成百度地图环境成功): ...

  8. android百度地图更换定位图标,android百度地图定位,改变MyLocationOverlay默认图标(原始为蓝色点)(两种方法)...

    开放地图API无外乎google ,百度,高德等.其它的还有很多,不过比较好用的就这三种了,如果不需要出国(台湾例外),则最好使用百度地图,性能比高德好的多,无聊的时候自己可以测试测试.. 下面我简单 ...

  9. Android百度地图定位

    在谈到百度地图.如今,每个人都知道这个时候应该可以了吧.而更多的字不拉.直接朝话题. 访问百度地图api您必须应用key,应用在这里key不用说,有官方的文件说明如何应用上述key. 在这里,百度地图 ...

  10. android百度地图定位自定义图标,百度地图SDK集成及根据坐标实现定位(android studio开发)...

    百度地图SDK集成及根据坐标实现定位(android studio开发) 百度地图SDK集成及根据坐标实现定位(android studio开发) 1.下载百度地图SDK 链接:http://lbsy ...

最新文章

  1. xpath in biztalk
  2. mysql安装下载的缓存文件_mysql的安装
  3. html里面textfield属性,StyleableTextField的CSS属性htmlText
  4. python列表、集合、字典推导测试
  5. GIT 之概述与架构
  6. struts2和hibernate(2012/2/26)
  7. Myeclipse2014中,新建部署Maven项目
  8. 矩阵键盘mega16 c语言程序,矩阵键盘实现16个按键操作原理及应该方案
  9. 走向世界中的我国摄影测量与遥感 ——访中国测绘学会理事长、国家测绘局原副局长杨凯
  10. Air720H模块MQTT协议的AT指令流程
  11. linux中#和## 用法
  12. 7层计算机网络体系结构,【计算机网络7层体系结构】
  13. 大麦 Android 选座场景性能优化全解析
  14. URAL1325-Dirt
  15. MySQL 第十三章 约束(★★★★★)
  16. U-GAT-IT:基于GAN的新型无监督图像转换
  17. CyanogenMod 和 Cyanogen OS 对比
  18. Pandas快速合并多张excel表格
  19. This probably means that Tcl wasn‘t installed properly
  20. 边吃烧烤边喝啤酒引发疾病

热门文章

  1. 如何解决RS485 通讯接口被主站占用的问题
  2. HTTP错误状态码详解
  3. 易优(eyoucms)CMS网站搬家教程
  4. 千图成像!祝可爱的小伙伴们圣诞快乐!给女朋友一个惊喜吧!
  5. java jshell_JDK11 | 第二篇 : JShell 工具
  6. 从Bus Hound开始学USB之U盘
  7. 5、JSP面试题总结
  8. 《产品经理面试攻略》PART 4:笔试与面试
  9. 上海计算机等级考试档案记录,【档案区】上海市高等学校计算机等级考试(一级)考试大纲...
  10. java.lang.NoSuchMethodError: org.jaxen.dom4j.DocumentNavigator.getInstance()【可能的解决办法】