高德地图---逆地理编码
一.使用场景
因公司需要,新增一个根据经纬度查询所在地址的需求
例如: 113.305377,23.140492
广东省广州市越秀区黄花岗街道广州动物园
二.前期准备
申请高德web服务的key 值,测试够用,如果上线的话,最好用企业账号申请(申请流程高德里面有提示)
三.使用案例
1.所需jar包
<!--导入httpclient jar包和fastjson包 -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.7</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.38</version>
</dependency>
2.测试代码
package cn.gdmcmc.esi.gaode;
import com.alibaba.fastjson.JSON;
import com.mysql.cj.xdevapi.JsonArray;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @Description:高德逆地理编码
* @Author:lighter
* @Date:2019/11/20 16:43
* @Version 1.0
*/
public class GeoCodeTest {
public static void main(String[] args) throws Exception {
//创建一个httpclient对象
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
//创建url
//output = json 返回结果数据将会以JSON结构构成
// batch 参数设置为 true 时进行批量查询操作,设置为 false 时进行单点查询,最多查询20个
String urlStr = "https://restapi.amap.com/v3/geocode/regeo? output=json&batch=true&key=053633e246650ab25ae2f58c504e964b&";
//坐标点,多个坐标点之间用 | 连接
//java 中使用String 连接url ,识别 | 错误,要更换成 %7C
String location = "location=113.313596,23.080083";
String url =urlStr+location;
//生成get 请求对象
HttpGet httpGet = new HttpGet(newUrl);
//发送请求
CloseableHttpResponse response = httpClient.execute(httpGet);
//获取响应实体对象
HttpEntity entity = response.getEntity();
//转换成utf-8 编码的字符串
String entityStr = EntityUtils.toString(entity, "utf-8");
//转换成map 的集合
Map map = JSON.parseObject(entityStr, Map