600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > java调用百度地图API根据地理位置获取经纬度

java调用百度地图API根据地理位置获取经纬度

时间:2020-05-20 19:16:31

相关推荐

java调用百度地图API根据地理位置获取经纬度

前言:

自己申请一个百度地图得账号,然后创建自己需要服务拿到Ak

下载地址:登录百度帐号 /apiconsole/key

1.第一步:申请账号,这一步大家都会就不做太多介绍了

2.第二步:创建ak,

3.第三步:创建ak,拿到ak并保存下来,别让其他人用了

4.干货来了!!!!导入http得依赖,通过地址拿到经纬度

/*** @Description: <百度开发者>在百度地图开发文档申请的key,目前是我私人的* @Author: xy丶*/// @Value("${baidu.ak}")//private String ak;final static String AK = "edGc5mIugVxx7********o"; 这里是刚创建得自己得AK/*** @Description: 地理位置编码* @Author: xy丶*///@Value("${baidu.url}")//private String url;final static String ADDRESS_TO_LONGITUDEA_URL = "http://api. /geocoding/v3/?output=json&location=showLocation";/*** @Description: 地理位置编码* @Author: xy丶* @retur: 返回地理位置信息*/@GetMapping("addressApi")public ApiResultVO AddressTolongitudea(String address) {if(Strings.isBlank(address)){log.info("请输入地址");return null;}String httpUrl = ADDRESS_TO_LONGITUDEA_URL + "&ak=" + AK + "&address="+ address;log.info("请求url:" + httpUrl);// 创建默认http连接HttpClient client = HttpClients.createDefault();// 创建一个post请求HttpPost post = new HttpPost(httpUrl);try {// 用http连接去执行get请求并且获得http响应HttpResponse response = client.execute(post);// 从response中取到响实体HttpEntity entity = response.getEntity();log.info("响应实体:"+entity);// 把响应实体转成文本String html = EntityUtils.toString(entity);log.info("返回信息:" + html);// JSON转对象return JSON.parseObject(html, ApiResultVO.class);} catch (Exception e) {log.error("地理编码[异常],", e);return null;}}

返回结果:

{

"status":"0",

"result":{

"level":"村庄",

"confidence":"50",

"location":{

"lng":"105.0006026218481",

"lat":"29.645771323452065"

},

"precise":"0",

"comprehension":"57"

}

}

5.通过经纬度,拿到具体得地址

/*** 逆地理编码 URL*///@Value("${baidu.rurl}")private String rurl;final static String LONGITUDE_TO_ADDRESS_URL = "http://api./reverse_geocoding/v3/?output=json&coordtype=BD09&pois=1";/*** 逆地理编码* @param lat* 纬度 23.1067,* @param lng* 经度 113.325* @return*/@GetMapping("/reverseGeography")public ReverseGeography longitudeToAddress(float lat, float lng) {//拼接请求路径String url = LONGITUDE_TO_ADDRESS_URL + "&ak=" + ak + "&location=" + lat + "," + lng;log.info("请求url:" + url);// 创建默认http连接HttpClient client = HttpClients.createDefault();// 创建一个post请求HttpPost post = new HttpPost(url);try {// 用http连接去执行get请求并且获得http响应HttpResponse response = client.execute(post);// 从response中取到响实体HttpEntity entity = response.getEntity();// 把响应实体转成文本String html = EntityUtils.toString(entity);log.info("返回信息:" + html);// JSON转对象return JSON.parseObject(html, ReverseGeography.class);} catch (Exception e) {log.error("逆地理编码[异常],", e);return null;}}

返回结果

返回结果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。