1.这里演示的代码目的是为了通过经纬度,获取该地址所属乡镇名称、区名、全名。
2.使用了百度地图API接口:
详情:http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding-abroad&qq-pf-to=pcqq.c2c
3.直接上代码:

package grab;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
import java.util.UUID;import com.alibaba.fastjson.JSONObject;public class town {public static void main(String[] args) {//String uid = newGUID();String town = getAdressDetail(118.726425,31.092391);System.out.println(town);}/*** 逆地理编码 获取乡镇名称*/public static String getAdressDetail(double lng,double lat) {String result = "";// 访问返回结果BufferedReader read = null;// 读取访问结果String town = "";//城镇名称String regionScope = "";//城镇范围String url = "http://api.map.baidu.com/reverse_geocoding/v3/";String param = "ak=SfrwGH7INvjPq7BwCrYrioBQZm9XXxrR&output=json&coordtype=wgs84ll&extensions_town=true"+"&location="+lat+","+lng;//System.out.println("访问地址:" + url + "?" + param);try {// 创建urlURL realurl = new URL(url + "?" + param);// 打开连接URLConnection connection = realurl.openConnection();// 设置通用的请求属性connection.setRequestProperty("accept", "*/*");connection.setRequestProperty("connection", "Keep-Alive");connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");// 建立连接connection.connect();// 获取所有响应头字段
//          Map<String, List<String>> map = connection.getHeaderFields();
//          // 遍历所有的响应头字段,获取到cookies等
//          for (String key : map.keySet()) {
//              System.out.println(key + "--->" + map.get(key));
//          }// 定义 BufferedReader输入流来读取URL的响应read = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));String line;// 循环读取while ((line = read.readLine()) != null) {result += line;}//不为空,解析处城镇名称if(!"".equals(result)){JSONObject jsonInfo = JSONObject.parseObject(result);town = JSONObject.parseObject(JSONObject.parseObject(jsonInfo.getString("result")).getString("addressComponent")).getString("town").toString();regionScope = JSONObject.parseObject(jsonInfo.getString("result")).getString("formatted_address")+town;System.out.println(regionScope);}} catch (IOException e) {e.printStackTrace();} finally {if (read != null) {// 关闭流try {read.close();} catch (IOException e) {e.printStackTrace();}}}return town;}/*** 产生一个32位的GUID* @return*/public static String newGUID(){UUID uuid = UUID.randomUUID();return uuid.toString();}}

4.看效果:

5.技术点分析:

/**1.刚拿到的result,是一个json格式的字符串,该字符串,有好几层嵌套,所以在取数据的时候,需要一层一层解析{"status":0,"result":{"location":{"lng":118.73814909971941,"lat":31.095934413770754},"formatted_address":"安徽省宣城市宣州区","business":"","addressComponent":{"country":"中国","country_code":0,"country_code_iso":"CHN","country_code_iso2":"CN","province":"安徽省","city":"宣城市","city_level":2,"district":"宣州区","town":"养贤乡","adcode":"341802","street":"","street_number":"","direction":"","distance":""},"pois":[],"roads":[],"poiRegions":[],"sematic_description":"","cityCode":190}}*2.首先需要将字符串转换成json对象*3.获取最外面的json内容:result --JSONObject.parseObject(jsonInfo.getString("result")).toString*4.在获取result 里面最外侧的json内容:addressComponent -JSONObject.parseObject(JSONObject.parseObject(jsonInfo.getString("result")).getString("addressComponent")).toString*5.最后就能获取乡镇名称了:town--JSONObject.parseObject(JSONObject.parseObject(jsonInfo.getString("result")).getString("addressComponent")).getString("town").toString();*///不为空,解析处城镇名称if(!"".equals(result)){JSONObject jsonInfo = JSONObject.parseObject(result);town = JSONObject.parseObject(JSONObject.parseObject(jsonInfo.getString("result")).getString("addressComponent")).getString("town").toString();regionScope = JSONObject.parseObject(jsonInfo.getString("result")).getString("formatted_address")+town;System.out.println(regionScope);}

6.jar包。。。。
这里有我的jar包连接,可以直接用。或者复制import后面的工具名去别的地方下载。
点我下载

根据经纬度获取该地址所属省/市/区/乡镇/街道名称相关推荐

  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. java 行政区划获取代码 省/市/县/乡镇/街道/村委会 层级 DivisionAdvUtil 爬虫获取完整的行政区划 代码完整 可运行

    /**  * 行政区划获取,层级有省,市,县,乡镇,街道,村委会<br>  * 数据源查看: ①.http://www.stats.gov.cn/sj/tjbz<br>  * ...

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

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

  5. 在vue项目引入天地图,根据经纬度获取具体地址

    1.申请key 天地图地图服务对所有用户开放.使用本组服务之前,需要申请Key 2.引入API 地图API是由JavaScript语言编写的,您在使用之前需要通过<script>标签将AP ...

  6. 微信小程序开发--当前位置的详细地址获取amp;amp;amp;amp;城市列表获取-具体到:省--市--区、县级市---乡镇、街道

    1. 申请开发者密钥(key):申请密钥 2. 下载微信小程序JavaScriptSDK,微信小程序JavaScriptSDK v1.0 3. 安全域名设置,在"设置" -> ...

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

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

  8. Android使用Google定位服务定位并将经纬度转换为详细地址信息(国省市县街道)

    本文是作者在学习使用Google定位服务定位时的学习笔记,采用的是Kotlin语言编写. 1.位置权限以及定位服务 1.1 位置权限 1.2 动态权限申请 1.3 位置服务 1.4 APP权限与定位服 ...

  9. Arcmap软件中将地图上的省/市/区/县的名称显示出来

    本例讲解以邯郸市为例: 首先双击打开提前导进去.shp格式的邯郸市地图图层属性面板,选择Symbology--左侧Shwo--Categories--Unique values,左侧值字段选择&quo ...

最新文章

  1. 单片机c语言中的循环语句,单片机c语言教程:C51循环语句
  2. 开源Android容器化框架Atlas开发者指南
  3. shell脚本重启tomcat
  4. 工作区 暂存区 版本库之间的关系
  5. 云原生的新思考,为什么容器已经无处不在了
  6. 【Elasticsearch】Elasticsearch 索引生命周期管理
  7. c++ 模板类实现堆栈实验报告_5分钟学会C/C++多线程编程进程和线程
  8. 计算机要重启电脑才能检测出u盘启动,电脑使用U盘需要重启才能识别分析及解决措施...
  9. 揭秘骗术:黑客人肉、查开房的灰色项目
  10. Va02 修改数量和价格条件时报错
  11. vmbox 宿主机ssh登录虚拟机
  12. 使用拦截器或者AOP实现权限管理(OA系统中实现权限控制)
  13. 重新安装的nvidia显卡驱动
  14. 从李嘉诚先生那里得到的
  15. 运行数据区③---方法区
  16. 笔记本 原因代码: 0x500ff 关机类型: 关闭电源_关于笔记本电池更换的建议
  17. php 判断来源 微信客户端_使用PHP判断是否为微信、支付宝等移动设备访问代码...
  18. Android-绝对音量和相对音量设置
  19. About Variables
  20. Python爬虫:爬取百度图片(selenium模拟登录,详细注释)

热门文章

  1. 悲情天才Walter Pitts—计算神经学,控制论和人工智能的诞生
  2. python土味情话_python教你谈恋爱-之-土味情话5000条
  3. 实达集团并购中科融通 涉足物联网领域
  4. STM32 使用STM32F103控制无源蜂鸣器发声播放音乐
  5. 计算机无法正常启动无法修复,win10无法正常启动
  6. G470 deepin wifi无法开启
  7. 17年毕业,三年跳槽大厂,如今Java后端开发高级岗位,拿下45k月薪
  8. PCB熔锡不良失效分析
  9. bat脚本删除目录下的文件
  10. 浙大计算机专业培养方案,浙大计算机专业培养方案2013