Android开发项目时常常会遇到定位这个功能, 很久以前写过一篇了,官方也更新了一些东西,我也更新下

以前使用的是jar包 导入来实现高德定位

现在通过Gradle集成SDK(也可以使用jar包)

//定位依赖

implementation 'com.amap.api:location:latest.integration'

之后到高德申请key值,登录打开控制台 点击创建应用,如图:

填写相应信息,

名称,PackageName:项目的包名,至于SHA1安全码可以这样获取,可以 Window+R 打开控制台  输入cmd点击确定

之后在弹框中完成以下操作就可以看到SHA1安全码了

上图的密钥库口令默认的是:android        (注:输入口令是看不见的,输入完成Enter即可)

输入完信息确定就可以看到key值了

AndroidManifest.xml中加入权限

复制代码

标签中添加Key值信息

Activity代码:(和以前的相比少了很多不必要的代码)

/***

* 定位

*/

private void showLocation() {

try {

mlocationClient = new AMapLocationClient(this);

mLocationOption = new AMapLocationClientOption();

mlocationClient.setLocationListener(this);

//设置定位模式为高精度模式,Battery_Saving为低功耗模式,Device_Sensors是仅设备模式

mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);

mLocationOption.setInterval(5000);

//设置定位参数

mlocationClient.setLocationOption(mLocationOption);

//启动定位

mlocationClient.startLocation();

} catch (Exception e) {

}

}

@Override

public void onLocationChanged(AMapLocation amapLocation) {

try {

if (amapLocation != null) {

if (amapLocation.getErrorCode() == 0) {

//定位成功回调信息,设置相关消息

//获取当前定位结果来源,如网络定位结果,详见定位类型表

Log.i("定位类型", amapLocation.getLocationType() + "");

Log.i("获取纬度", amapLocation.getLatitude() + "");

Log.i("获取经度", amapLocation.getLongitude() + "");

Log.i("获取精度信息", amapLocation.getAccuracy() + "");

//如果option中设置isNeedAddress为false,则没有此结果,网络定位结果中会有地址信息,GPS定位不返回地址信息。

Log.i("地址", amapLocation.getAddress());

Log.i("国家信息", amapLocation.getCountry());

Log.i("省信息", amapLocation.getProvince());

Log.i("城市信息", amapLocation.getCity());

Log.i("城区信息", amapLocation.getDistrict());

Log.i("街道信息", amapLocation.getStreet());

Log.i("街道门牌号信息", amapLocation.getStreetNum());

Log.i("城市编码", amapLocation.getCityCode());

Log.i("地区编码", amapLocation.getAdCode());

Log.i("获取当前定位点的AOI信息", amapLocation.getAoiName());

Log.i("获取当前室内定位的建筑物Id", amapLocation.getBuildingId());

Log.i("获取当前室内定位的楼层", amapLocation.getFloor());

Log.i("获取GPS的当前状态", amapLocation.getGpsAccuracyStatus() + "");

//获取定位时间

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date date = new Date(amapLocation.getTime());

Log.i("获取定位时间", df.format(date));

// 停止定位

mlocationClient.stopLocation();

} else {

//定位失败时,可通过ErrCode(错误码)信息来确定失败的原因,errInfo是错误信息,详见错误码表。

Log.e("AmapError", "location Error, ErrCode:"

+ amapLocation.getErrorCode() + ", errInfo:"

+ amapLocation.getErrorInfo());

}

}

} catch (Exception e) {

}

}

@Override

protected void onStop() {

super.onStop();

// 停止定位

if (null != mlocationClient) {

mlocationClient.stopLocation();

}

}

/**

* 销毁定位

*/

private void destroyLocation() {

if (null != mlocationClient) {

/**

* 如果AMapLocationClient是在当前Activity实例化的,

* 在Activity的onDestroy中一定要执行AMapLocationClient的onDestroy

*/

mlocationClient.onDestroy();

mlocationClient = null;

}

}

@Override

protected void onDestroy() {

destroyLocation();

super.onDestroy();

}

运行得到日志:

android 高德地图定位圈,android ------ 实现高德定位并获取相应信息 ( 最新版高德SDK 和 Android SDK版本)...相关推荐

  1. android高德定位sdk,android ------ 实现高德定位并获取相应信息 ( 最新版高德SDK 和 Android SDK版本)...

    /*** * 定位*/ private voidshowLocation() {try{ mlocationClient= new AMapLocationClient(this); mLocatio ...

  2. android获取定位并标点,Android Studio 中实现高德定位并获取相应信息

    Android开发项目时常常会遇到定位这个功能,所以写了这篇博客,今天主要讲的高德地图的定位并获取相应信息. 首先导入高德的jar包 image 选中jar包右键点击 Add As Library, ...

  3. 基于高德地图JsAPI进行浏览器精确定位,实现手机端考勤打卡功能

    前言: 由于项目需求需要在项目中实现手机端(基于网页)考勤打卡功能,最初考虑使用H5自身定位功能,但尝试过后,效果很不稳定.然后尝试使用百度地图JsAPI,百度家的稳定倒是很稳定,没想到的是定位位置和 ...

  4. 高德地图七:根据地址定位

    高德地图七:根据地址定位 实例效果图: 代码实现: layout/activity_main.xml <?xml version="1.0" encoding="u ...

  5. 解决高德地图锁屏黑屏定位不更新,高德地图绘制定位轨迹,高德定位判断定位停留点,高德地图将所有坐标绘制在可视区域内

    本文章主要介绍 高德定位锁屏黑屏定位不更新的问题. 实现流程是:程序开始阶段正常执行定位,注册监听锁屏监听,唤醒cpu监听,当锁屏 广播每2秒发起一起单次定位唤醒.源码如下: package net. ...

  6. react Amap引入高德地图,并实现搜索定位。

    react 引入高德地图,并实现搜索定位 一.react 引入Amap: Amap官方地址:https://elemefe.github.io/react-amap/articles/start 按照 ...

  7. 利用高德地图javascriptAPI实现模仿滴滴打车定位

    利用高德地图javascriptAPI实现模仿滴滴打车定位 使用API AMap.Map:地图对象类,封装了地图的属性设置.图层变更.事件交互等接口的类. AMap.Geocoder:地理编码与逆地理 ...

  8. js 调用android定位,基于html5+ 高德地图JS API使用安卓定位sdk用来进行定位

    使用Native.js打开Android的H5辅助定位 mui.plusReady(function() { if(plus.os.name == 'Android') { var AMapLocat ...

  9. android auto支持高德地图,【图】苹果新系统:CarPlay终于支持高德地图_汽车之家...

    [汽车之家 互联出行]  苹果在美国时间6月4日的苹果开发者大会上,发布了最新的iOS 12操作系统,其实关于交通互联的部分最重要的变化就是之后全面支持高德地图了. 本次苹果发布的iOS 12系统,重 ...

最新文章

  1. 取代百度!美团成中国第三大互联网公司
  2. 单链表-两个线性表的合并(不破坏原链表+尾插法)
  3. 日本机器人实力大盘点,和Atlas的高调刷屏相比,日本机器人的默默崛起更让人忌惮...
  4. 魏少军谈AI芯片热潮和架构创新 透露清华Thinker芯片将独立融资
  5. 为什么重启路由器 经常重启让WiFi更快
  6. Ionic实战 自动升级APP(Android版)
  7. 048_Unicode对照表十四
  8. Use Cases in an Agile Backlog
  9. 如何查找SAP CRM通过中间件Middleware连接的远端ERP系统
  10. java代码初体验_第一次Java 8体验
  11. 东财计算机应用基础单元作业,东财21春《计算机应用基础》单元作业一 【标准答案】...
  12. (转)python中的参数:*args和**kwargs
  13. Repository HDU - 2846 (trie)
  14. L1-004 计算摄氏温度 (5 分)—团体程序设计天梯赛
  15. name after, name for, name as
  16. 【数字信号】基于matlab GUI虚拟信号发生器(各种波形)【含Matlab源码 271期】
  17. AD9 PCB文件黑色区域如何改变?
  18. 下载C语言标准库源码
  19. 经纬财富:莆田炒现货白银技巧
  20. swiper点击左右失效

热门文章

  1. 攻防世界Misc——来自银河的声音
  2. python扫描器_Python扫描器-HTTP协议
  3. HTTPS学习笔记:(3)一文彻底了解PKI与证书
  4. c语言两个for语句并列执行_for的用法详解,C语言for循环完全攻略
  5. 等级保护二、三、四级内容及对比
  6. 外贸客户如何选择供应商:5R原则
  7. STM32CubeMX学习笔记(9)——I2C接口使用(读写EEPROM AT24C02)
  8. textfield监听输入汉字数量
  9. 持续性混吃等死,间歇性踌躇满志 --转自头条
  10. Ubuntu 18.04安装Docker Dashboard