Java调用百度地图API实现根据经纬度查地名

功能:需要根据经纬度来查询所属的乡镇地址
我们选择了百度地图的逆地理编码来解决
首先要申请自己的密钥:密钥

@Slf4j
@Service
public class AreaServiceImpl implements AreaService {//这里是把百度地图的ak密钥写在了配置文件,可以直接写死在这里//final String ak="xxxxxx";@Value("${baiduapi.ak}")private String AK;//备用AK,如果用的yml建议直接baiduapi.beiyong@Value("${baiduapi.ak.beiyong}")private String deAK;/*** 通过告警经纬度返回所在客户id,name* @param lat 纬度* @param lng 经度* @return*/@Overridepublic String getDeptByLocation(String lng, String lat){if (lng == null || "".equals(lng) || lat == null || "".equals(lat)){return null;}return getDeptByLocation(lng, lat, AK);}public String getDeptByLocation(String lng, String lat, String ak) {final String URL = "http://api.map.baidu.com/reverse_geocoding/v3/" +"?ak=" + ak +"&output=json&coordtype=wgs84ll&extensions_town=true&" +"location=" + lat + "," + lng;String areaCode = "";String addressName = "";//调百度地图API,通过经纬度查areaCodeURL myURL = null;URLConnection httpsConn = null;//进行转码try {myURL = new URL(URL);} catch (MalformedURLException e) {e.printStackTrace();}try {httpsConn = (URLConnection) myURL.openConnection();if (httpsConn != null) {InputStreamReader insr = new InputStreamReader(httpsConn.getInputStream(), "UTF-8");BufferedReader br = new BufferedReader(insr);String data = null;if ((data = br.readLine()) != null) {JSONObject jsonObject = JSON.parseObject(data);//状态码String status = jsonObject.get("status")+"";//配额超限if ("301".equals(status) || "302".equals(status) || "401".equals(status) || "402".equals(status)){if (ak.equals(deAK)){log.error("百度地图api调用配额超限: "+lat+","+lng);return null;}return getDeptByLocation(lng, lat, deAK); //更换AK}//其他错误if (!"0".equals(status)) {log.error("百度地图api调用失败: "+lat+","+lng);return null;}//使用alibaba的JSON工具类取自己想要的内容areaCode = jsonObject.getJSONObject("result").getJSONObject("addressComponent").get("town_code") + "";addressName = jsonObject.getJSONObject("result").getJSONObject("addressComponent").get("town") + "";//区域编码System.out.println(areaCode);System.out.println(addressName);}insr.close();}} catch (IOException e) {e.printStackTrace();}return addressName;}
}


返回的是这样的JSON串,想要什么直接拿就可以,我这里用的是alibaba的JSONObject取的

更:建议高德地图

改改url就行,经纬度和百度是反着的,然后看看错误码和返回json中的key就行

Java调用百度/高德地图API实现根据经纬度查地名相关推荐

  1. java高德地图Api根据城市名称查该城市所有区域

    y今天下来一个新需求,根据城市名称查该城市的所有区,在网上看到关于高德地图api讲解的很少,本人在写代码的时候也遇到了很多的问题,借此机会记录一下. 一.注册成为高德地图开发者 (高德地图开发者网址: ...

  2. 分享一个关于Java调用百度、高德API、ArcGIS地图获取逆地理的代码

    百度地图和高德地图用户获取国内地址, 区别在于高德地图的精确度比百度地图要高一点, 百度经纬度和高德地图经纬度位置相反, 高德地图不支持国外地址, ArcGIS地图获取国外地址 1.首先需要到高德开发 ...

  3. java调用百度地图API依据地理位置中文获取经纬度

    百度地图api提供了非常多地图相关的免费接口,有利于地理位置相关的开发,百度地图api首页:http://developer.baidu.com/map/. 博主使用过依据地理依据地理位置中文获取经纬 ...

  4. java获取经纬度_java调用高德地图api获取某个位置的经纬度

    java调用高德地图api获取经纬度的方法,废话少说,直接上代码: import com.fasterxml.jackson.databind.JsonNode; import com.ning.ht ...

  5. Java调用高德地图API根据详细地址获取经纬度

    Java调用高德地图API根据详细地址获取经纬度 官方API:https://lbs.amap.com/api/webservice/guide/api/georegeo * Web服务API 地理/ ...

  6. java调用高德地图API开发,高德在线地图开发——未完待续

    这是目录 一.引入高德地图API 二.高德地图开发 1.定义一个div来存放地图 2.生成地图 3.添加一个跳跃的点 4.添加控件 5.有其他需要的请留言 一.引入高德地图API 高德地图官方示例:h ...

  7. python百度地图api经纬度_Python调用百度地图和高德地图API批量获取国内城市地址经纬度坐标...

    1 数据准备 经过尝试,百度地图API需要输入城市中文名称才能获取对应经纬度坐标,因此先将英文的城市名称转为中文 一共347个城市 由于在测试过程中发现高德和百度地图API分别有几个城市的地址无法获取 ...

  8. 高德地图API调用和标准(转)

    看过高德地图API的同学都知道,高德地图不同端调用是不一样的,作为一个前端菜鸟,前一阵分别在pc端和移动端分别调用了高德地图.情况是这个样子的,PC端呢我们可以用高德API的web端的javascri ...

  9. 调用高德地图Api实现通过地址转经纬度

    调用高德地图Api实现通过地址转经纬度 在高德地图开放平台注册一个key就可以了,链接在这儿高德地图开放平台 /*** @author _沉淀_* @version 1.0.0* @ClassName ...

  10. python调用高德地图api 可视化_Python:利用高德地图API实现找房

    记:本项目是在实验楼上看到的,但是上面的代码由于没有及时维护,爬虫文件的代码不再能完整的把所有房源信息爬取下来,我根据最新的58同城官网进行了研究,现在的官网的房源信息已经不是分页的了,而是拉到最后自 ...

最新文章

  1. (08)通用的数据访问 OleDbHelper
  2. 【转】ABP源码分析四十五:ABP ZERO中的EntityFramework模块
  3. LINQ TO SQL和Entity Framework 的关系 你了解多少?
  4. lolfps高但画面不流畅_华为P40系列90Hz参上 高刷新率玄机一文知晓
  5. GitHub 日收 12,000 星,微软新命令行工具引爆程序员圈!
  6. php处理har,harviewer har解析工具
  7. 地图上导出坐标html文件,如何将标签的坐标、海拔等属性导出到TXT文本中
  8. 中国农村统计年鉴合集(1985-2019年)
  9. 【OR】YALMIP 全局最优化
  10. 深度学习教程(8) | AI应用实践策略(上)(吴恩达·完整版)
  11. 解决 pq: SSL is not enabled on the server
  12. 英语音标表、48个国际音标发音表、falsh音标学习视频
  13. WifiManager 实现Wifi快捷开关
  14. 奇迹按键精灵挂机脚本_奇迹挂机捡东西脚本
  15. ActiveMQ学习(二)——MQ的工作原理
  16. CrossCompiler And Auto tools
  17. [AHK]为通达信标记文字窗口的按钮增加热键
  18. 刀柄锥度气动量仪检测
  19. android 调用搜狗地图api,搜狗地图API - Sogou Maps JavaScript API
  20. 计算机 无法开机 拔电源 过一会,电脑有时候开机不到一秒就自动关机,拔掉电源再重插就没问题,怎么回事...

热门文章

  1. 零基础微信小程序开发学习笔记(2.构建静态界面)
  2. 新浪滚动新闻的json数据获取页面
  3. 吴式太极大师战波简介
  4. 年底了,诈骗的怎么这么多?
  5. k8s 部署 xxl-job-admin:2.3.0
  6. 一文搞明白DNS缓存投毒
  7. 零基础HTML入门教程(14)--水平线
  8. 《结构思考力》思维导图
  9. 360漏洞修复网管版小软件不错
  10. LINUX中OFFICE WORD无法输入中文的解决办法