Java调用百度/高德地图API实现根据经纬度查地名
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实现根据经纬度查地名相关推荐
- java高德地图Api根据城市名称查该城市所有区域
y今天下来一个新需求,根据城市名称查该城市的所有区,在网上看到关于高德地图api讲解的很少,本人在写代码的时候也遇到了很多的问题,借此机会记录一下. 一.注册成为高德地图开发者 (高德地图开发者网址: ...
- 分享一个关于Java调用百度、高德API、ArcGIS地图获取逆地理的代码
百度地图和高德地图用户获取国内地址, 区别在于高德地图的精确度比百度地图要高一点, 百度经纬度和高德地图经纬度位置相反, 高德地图不支持国外地址, ArcGIS地图获取国外地址 1.首先需要到高德开发 ...
- java调用百度地图API依据地理位置中文获取经纬度
百度地图api提供了非常多地图相关的免费接口,有利于地理位置相关的开发,百度地图api首页:http://developer.baidu.com/map/. 博主使用过依据地理依据地理位置中文获取经纬 ...
- java获取经纬度_java调用高德地图api获取某个位置的经纬度
java调用高德地图api获取经纬度的方法,废话少说,直接上代码: import com.fasterxml.jackson.databind.JsonNode; import com.ning.ht ...
- Java调用高德地图API根据详细地址获取经纬度
Java调用高德地图API根据详细地址获取经纬度 官方API:https://lbs.amap.com/api/webservice/guide/api/georegeo * Web服务API 地理/ ...
- java调用高德地图API开发,高德在线地图开发——未完待续
这是目录 一.引入高德地图API 二.高德地图开发 1.定义一个div来存放地图 2.生成地图 3.添加一个跳跃的点 4.添加控件 5.有其他需要的请留言 一.引入高德地图API 高德地图官方示例:h ...
- python百度地图api经纬度_Python调用百度地图和高德地图API批量获取国内城市地址经纬度坐标...
1 数据准备 经过尝试,百度地图API需要输入城市中文名称才能获取对应经纬度坐标,因此先将英文的城市名称转为中文 一共347个城市 由于在测试过程中发现高德和百度地图API分别有几个城市的地址无法获取 ...
- 高德地图API调用和标准(转)
看过高德地图API的同学都知道,高德地图不同端调用是不一样的,作为一个前端菜鸟,前一阵分别在pc端和移动端分别调用了高德地图.情况是这个样子的,PC端呢我们可以用高德API的web端的javascri ...
- 调用高德地图Api实现通过地址转经纬度
调用高德地图Api实现通过地址转经纬度 在高德地图开放平台注册一个key就可以了,链接在这儿高德地图开放平台 /*** @author _沉淀_* @version 1.0.0* @ClassName ...
- python调用高德地图api 可视化_Python:利用高德地图API实现找房
记:本项目是在实验楼上看到的,但是上面的代码由于没有及时维护,爬虫文件的代码不再能完整的把所有房源信息爬取下来,我根据最新的58同城官网进行了研究,现在的官网的房源信息已经不是分页的了,而是拉到最后自 ...
最新文章
- (08)通用的数据访问 OleDbHelper
- 【转】ABP源码分析四十五:ABP ZERO中的EntityFramework模块
- LINQ TO SQL和Entity Framework 的关系 你了解多少?
- lolfps高但画面不流畅_华为P40系列90Hz参上 高刷新率玄机一文知晓
- GitHub 日收 12,000 星,微软新命令行工具引爆程序员圈!
- php处理har,harviewer har解析工具
- 地图上导出坐标html文件,如何将标签的坐标、海拔等属性导出到TXT文本中
- 中国农村统计年鉴合集(1985-2019年)
- 【OR】YALMIP 全局最优化
- 深度学习教程(8) | AI应用实践策略(上)(吴恩达·完整版)
- 解决 pq: SSL is not enabled on the server
- 英语音标表、48个国际音标发音表、falsh音标学习视频
- WifiManager 实现Wifi快捷开关
- 奇迹按键精灵挂机脚本_奇迹挂机捡东西脚本
- ActiveMQ学习(二)——MQ的工作原理
- CrossCompiler And Auto tools
- [AHK]为通达信标记文字窗口的按钮增加热键
- 刀柄锥度气动量仪检测
- android 调用搜狗地图api,搜狗地图API - Sogou Maps JavaScript API
- 计算机 无法开机 拔电源 过一会,电脑有时候开机不到一秒就自动关机,拔掉电源再重插就没问题,怎么回事...