Android高德获取逆地址编码(经纬度坐标-地址描述如省市区街道)

可以在非地图视图下直接获取,只要传入当前位置的经纬度 当然也可以在地图模式下获取详细信息

在非第三方地图集成下(系统自带功能)获取当前位置的经纬度,参考:

http://blog.csdn.net/weixin_37577039/article/details/79178018

但是经过测试,发现这种方式获取的地理位置描述不够准确 因此还是建议通过高德地图方式进行位置获取

在高德地图集成下获取当前位置,参考:http://blog.csdn.net/weixin_37577039/article/details/79381762

获取逆地址编码

// 声明

GeocodeSearch geocoderSearch;

private void setCurrentLocationDetails(){

// 地址逆解析

geocoderSearch = new GeocodeSearch(getApplicationContext());

geocoderSearch.setOnGeocodeSearchListener(this);

// 第一个参数表示一个Latlng(经纬度),第二参数表示范围多少米,第三个参数表示是火系坐标系还是GPS原生坐标系

RegeocodeQuery query = new RegeocodeQuery(latLonPoint, 25, GeocodeSearch.AMAP);

geocoderSearch.getFromLocationAsyn(query);

}

注意这里的latLonPoint不能是LatLng类型的

要为LatLonPoint类型的

定位回调监听器中调用setCurrentLocationDetails:

/**

* 定位回调监听器

*/

public AMapLocationListener mLocationListener = new AMapLocationListener() {

@Override

public void onLocationChanged(AMapLocation amapLocation) {

if (!IsGpsWork.isGpsEnabled(getApplicationContext())) {

Toast toast = Toast.makeText(getApplicationContext(), getString(R.string.hasNotOpenGps), Toast.LENGTH_SHORT);

toast.setGravity(Gravity.CENTER, 0, 0);

toast.show();

} else {

if (amapLocation != null) {

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

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

amapLocation.getLocationType();//获取当前定位结果来源,如网络定位结果,详见定位类型表

double currentLat = amapLocation.getLatitude();//获取纬度

double currentLon = amapLocation.getLongitude();//获取经度

latLonPoint = new LatLonPoint(currentLat, currentLon); // latlng形式的

/*currentLatLng = new LatLng(currentLat, currentLon);*/ //latlng形式的

Log.i("currentLocation", "currentLat : " + currentLat + " currentLon : " + currentLon);

amapLocation.getAccuracy();//获取精度信息

setCurrentLocationDetails(); // 设置当前位置具体描述

} else {

//显示错误信息ErrCode是错误码,errInfo是错误信息,详见错误码表。

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

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

+ amapLocation.getErrorInfo());

}

}

}

}

};

3 获取回传数据

当然前提是 类要

implements GeocodeSearch.OnGeocodeSearchListener

/**

* 获取回调的逆地址内容

*/

@Override

public void onRegeocodeSearched(RegeocodeResult result, int rCode) {

String formatAddress = result.getRegeocodeAddress().getFormatAddress();

Log.e("formatAddress", "formatAddress:"+formatAddress);

Log.e("formatAddress", "rCode:"+rCode);

}

@Override

public void onGeocodeSearched(GeocodeResult result, int rCode) {

}

输出结果

返回结果成功或者失败的响应码。1000为成功,其他为失败

IsGpsWork类如下,用于检查GPS是否开启

public class IsGpsWork {

//判断GPS是否开启

public static boolean isGpsEnabled(Context context) {

LocationManager locationManager = (LocationManager) context

.getSystemService(Context.LOCATION_SERVICE);

// 判断GPS模块是否开启

return locationManager != null && locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);

}

}

android 逆地址,Android高德获取逆地址编码(经纬度坐标-地址描述如省市区街道)相关推荐

  1. Android开发:集成高德地图实现定位、检索周边地址

    需求 1.后台传给我们一个经纬度,然后需要我们在地图上显示出来 2.当我们点击地图的时候进入到第二个界面,实现当前位置的定位,并且检索周边的商家地址,点击后将选中的地址回传,并显示,而我们上传给后台的 ...

  2. android studio百度地图SDK获取当前位置和经纬度和海拔

    网上很多获取位置的博文,但是感觉都不是很全面. 最近刚好有一个项目要求获取当地的经纬度和地理位置 几经折腾,终于还是写出来了.文分享一下. 代码如下 先在AndroidManifest中添加如下权限 ...

  3. Android使用百度地图api获取定位信息(经纬度)

    文章目录 注册 申请密钥 配置 使用 遇到问题 注册 登录百度地图开放平台 注册百度地图开发者,填写相关信息 提交成功后收到邮件 点击链接弹出如下提示就算激活成功了 申请密钥 点击申请密钥或者创建应用 ...

  4. uniapp 之 使用高德地图的方法将经纬度转为地址

    目录 前言 第一步 第二步 第三步 前言 因项目上的需要,需定位显示自己的位置 我之前一直坚持只使用 uniapp 内置的map属性去完成,却没成想,还是要依赖于高德地图才能将经纬度转为地址,之前也看 ...

  5. 腾讯地图获取当前定位的经纬度、地址的详细名称和地图上的显示

    具体步骤: 1.申请腾讯地图的开发者key  https://lbs.qq.com/console/mykey.html?console=mykey 2.引用腾讯地图的 cdn 链接 前端定位组件:h ...

  6. Android百度地图海拔,android studio百度地图SDK获取当前位置和经纬度和海拔

    网上很多获取位置的博文,但是感觉都不是很全面. 最近刚好有一个项目要求获取当地的经纬度和地理位置 几经折腾,终于还是写出来了.文分享一下. 代码如下 先在AndroidManifest中添加如下权限 ...

  7. android p随机mac,android设备唯一码的获取,cpu号,mac地址

    抄自http://blog.csdn.net/hpccn/article/details/7872141 开发Android应用中,我们常常需要设备的唯一码来确定客户端. Android 中的几中方法 ...

  8. android动态mac地址,android 设备唯一码的获取,Cpu号,Mac地址

    赞0 开发Android应用中,我们常常需要设备的唯一码来确定客户端. Android 中的几中方法,使用中常常不可靠 1. DEVICE_ID 假设我们确实需要用到真实设备的标识,可能就需要用到DE ...

  9. layui.css地址,layui+高德获取经纬度(可点击更换位置)

    添加 #container{ height:100%; width:100%; text-align: center; } 父类 顶级分类 @foreach($cate as $value) {{$v ...

最新文章

  1. 从Pixel 3a到Android Q,一份谷歌AI能力的“成绩单” | Google I/O全程回顾
  2. 2010上半年网络规划设计师下午试卷Ⅱ与论文写作要点
  3. ChartType属性
  4. 安装libtiff包 Python3
  5. 多索引表 (1)boost::multi_index多索引容器
  6. 关于bacula网络备份软件的安装以及配置3
  7. 使用between and查找时间范围时的日期边界问题
  8. 学习生物信息的系列书籍
  9. 基于JAVA+SpringBoot+Mybatis+MYSQL的药房药品管理系统
  10. 百面机器学习 #3 经典算法:02 逻辑回归
  11. 一个简单的互斥量与条件变量例子
  12. flash 中.Swf 格式的文字 转化为 word 或pdf 或 xps
  13. iPhone屏幕尺寸、分辨率及适配
  14. 使用POI操作Excel的基本读写
  15. 全球诺贝尔奖得主最多的30所大学排名
  16. 雷军第二场直播带货圆满成功,雷军代言小米试用期一个月
  17. 华芯微特SWM220R8T7-LQ64-22100最小系统板测试版开发板面包板
  18. RISC-V 架构指令集手册 第一册 无特权指令集 中文翻译
  19. 峨眉计算机学校,四川省峨眉山市职业技术学校
  20. mixer_path.xml 研究

热门文章

  1. centos7 java程序突然停止运行没有报错日志_CentOS7.5安装zookeeper3.4.10
  2. C++算法学习(力扣:1091. 二进制矩阵中的最短路径)
  3. 机器人仿真技术学习笔记(一)
  4. 计算相同维度向量之间的欧氏距离
  5. 卸载vuecli3_112、vue-cli3安装遇到的问题,卸载不掉旧版本,导致更新不了
  6. 长沙计算机类中等职业学校,长沙铁航职业中等技术学校
  7. AtCoder Beginner Contest 223
  8. mysql外键可以是空吗_带外键的表列可以为NULL吗?
  9. 小米扫地机器人原地不动_小米扫地机器人的4个不可思议
  10. [USACO13JAN]Square Overlap【模拟】