使用google地图通过经纬度获取详细地址,总结了有两种方法各有优缺点:

1.通过Geocoder传入经纬度获取详细地址。

 Geocoder geocoder = new Geocoder(this, Locale.getDefault());List<Address> addresses = geocoder.getFromLocation(locationBean.getLat(), locationBean.getLon(), 1);if(addresses!=null||addresses.size()>0) {String locality=addresses.get(0).getLocality()+addresses.get(0).getFeatureName();}

通过调用getFromLocation()方法,返回List<Address>,里面就有详细的国家,城市,地区,街道,自行拼接即可。
优点:方便,几行代码就可以搞定 
缺点:有时候不可用,会catch里会报设备不支持的错误,很不稳定

2.通过get网络请求:https://maps.google.cn/maps/api/geocode/json?key=Api-Key&language=en-US&sensor=false&latlng=Lat,Lon,获取详细地址
使用这个方法有几个地方需要注意下:
1.是https://不是http://
2.language=en-US 返回是英文,language=cn-ZH 返回是中文,默认是返回中文
3.key需要授权否则会报:The provided API key is invalid

成功后会返回一大串json,解析方式:

Map<String,Object> results=gson.fromJson(response,new TypeToken<Map<String,Object>>(){}.getType());if(results==null||results.size()<3)return ;ArrayList<Object> addressList= (ArrayList<Object>) results.get("results");if(addressList==null||addressList.size()<1)return;Map<String,String>  addressMap= (Map<String, String>)addressList.get(0);if(addressMap==null||addressMap.size()<1)return;String address=addressMap.get("formatted_address");

这顿操作后返回的就是通过经纬度获取的详细地址。

Android 使用google地图通过经纬度获取详细地址相关推荐

  1. 百度地图得到两地点(通过经纬度)的距离、 通过经纬度获取详细地址

    1 /** 2 * 计算两点间的距离 3 * pt1 {lng:"12.34",lat:"3423"}第一个点的经纬度 4 * pt2 {lng:"1 ...

  2. WEB开发 高德地图应用,初始加载,地图定位,层级变化控制,根据经纬度获取详细地址信息,点击事件以及地图自适应

    1.前台html位置准备 <div id="Sharingrouter">             <div id="container" r ...

  3. 【Android App】GPS获取定位经纬度和根据经纬度获取详细地址讲解及实战(附源码和演示 超详细)

    需要全部代码请点赞关注收藏后评论区留言私信~~~ 一.获取定位信息 开启定位相关功能只是将定位的前提条件准备好,若想获得手机当前所处的位置信息,还要依靠下列的3种定位工具. (1)定位条件器Crite ...

  4. 通过百度地图模糊查询获取详细地址?正则匹配

    要求:获取地址的详情? 地图:百度地图 准备:你的AK(地址:http://lbsyun.baidu.com/index.php?title=%E9%A6%96%E9%A1%B5),只需要注册申请就可 ...

  5. 百度地图api根据经纬度获取详细地址

    var point = new BMap.Point(longitude,latitude);//用所定位的经纬度查找所在地省市街道等信息var gc = new BMap.Geocoder();gc ...

  6. Android Google Maps API 网络服务用于网络定位、计算路线、获取经纬度、获取详细地址等

    Google Maps API 网络服务 官网地址 : https://developers.google.com/maps/documentation/webservices/?hl=zh-cn 其 ...

  7. php用高德地图api坐标返回市_高德地图使用php根据经度纬度获取详细地址的方法代码...

    //固定好的key值,用的是高德地图的api接口 $key="3434344sdss3444334333"; //根据经纬度获取详细地址 //https://restapi.ama ...

  8. Android开发之百度地图经纬度转换地址(以及获取详细地址的方法自测成功)

    方法一: 直接粘贴代码 GeoCoder mSearch = GeoCoder.newInstance();mSearch.setOnGetGeoCodeResultListener(new OnGe ...

  9. 用高德地图实现点击地图添加标记点,获取该点的经纬度,详细地址,通过输入框进行地址搜索自动定位到输入框地址

    用高德地图实现点击地图添加标记点,获取该点的经纬度,详细地址,通过输入框进行地址搜索自动定位到输入框地址 <template><div class="wrap"& ...

  10. vue对高德地图的简单使用:点击标记并获取经纬度和详细地址

    目录 第一步:先按部就班,进入高德开放平台,跟着步骤注册账号,创建应用 第二步:用npm下载包,初始化地图 第三步:实现点击地图添加标记 第四步:点击获取详细地址 第五步:搜索获取相关地区提示 第六步 ...

最新文章

  1. 风险度量之[下行风险]
  2. 应用编排与管理:核心原理
  3. 神策 FM |「聚焦」细分市场是独角兽诞生的营销关键
  4. learning material at the outer world
  5. ubuntu下amd超频工具_Ubuntu16.04 版预装AMD GPU驱动【最新版】_Linux_Ubuntu-云市场-阿里云...
  6. vue变量传值_Vue各类组件之间传值的实现方式
  7. Maximum Flow(2017 ACM-ICPC 亚洲区(西安赛区)网络赛 E)
  8. 数据迁移其实是很难的
  9. linux 远程连接ssh提示IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY解决
  10. 1.1 经典车间生产调度问题模型及其算法
  11. linux如何设置root权限,linux设置root权限的方法
  12. java mp3合并_java合并MP3文件
  13. UniPro、Bugzilla和Teambition 缺陷管理工具优劣势对比
  14. 爱了,这18个 Python 高效编程技巧真香
  15. iOS 7、iOS 8屏幕适配
  16. 通过CSS实现太极图案例
  17. 单位冲激信号 matlab,matlab单位冲激序列
  18. 地图渲染——四色定理的实现(AO+C++)
  19. 安保巡逻机器人如何在公共场所提供安全应用?
  20. 八字四柱排盘原理及源码(PHP、Java和Python)

热门文章

  1. 【C++ Primer 第五版】序言+前言
  2. Push to branch was rejected
  3. mybatis 大小写 字符串_Mybatis查询时,区分大小写操作
  4. 微信小程序及其兼容性
  5. 如何通过一根网线连接两台电脑,实现数据的传输?
  6. Java爬取糗百段子
  7. 关于Android studio在ubuntu中真机测试运行出现Gradle build daemon disappeared unexpectedly的一个原因及解决办法
  8. 小学计算机二课堂活动总结,康宁路学校“信息技术与课堂教学深度融合”活动总结...
  9. 数据库 查询计算机系姓王,数据库原理与应用课后实验三
  10. 青蒿素发现者与两外籍科学家共获诺奖