1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java通过经纬度查询位置(调用百度地图API)

java通过经纬度查询位置(调用百度地图API)

时间:2020-04-04 22:01:43

相关推荐

java通过经纬度查询位置(调用百度地图API)

网上找了写代码太老了(是v2版本,现在是v3),用的API是之前的版本,会报错提示:app 已禁用

需要用最新的

import com.alibaba.fastjson.JSON;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.IOException;/*** desc: 百度逆地理编码 (通过经纬度获取具体位置)** @author qts* @date /7/7 0007 下午 4:12*/public class BaiduMapGeocode {private final static String AK = "自己的密钥";// 百度地图密钥public static void main(String[] args) {String lng="39.93";//116.42 39.93String lat="116.42";reverseGeocode(lng,lat);}/**** @param lng 经度* @param lat 纬度* @return*/public static String reverseGeocode(String lng,String lat){String location=lng+","+lat;String url="http://api./reverse_geocoding/v3/?ak="+AK+"&output=json&coordtype=wgs84ll&location="+location;System.out.println(url);String res=doGet(url);String Addresslocation= JSON.parseObject(res).getJSONObject("result").getString("formatted_address");System.out.println(Addresslocation);return Addresslocation;}public static String doGet(String url) {//创建一个Http客户端CloseableHttpClient httpClient = HttpClientBuilder.create().build();//创建一个get请求HttpGet httpGet = new HttpGet(url);//响应模型CloseableHttpResponse response = null;try {//由客户端发送get请求response = httpClient.execute(httpGet);//从响应模型中获取响应实体HttpEntity responseEntity = response.getEntity();if (responseEntity != null) {return EntityUtils.toString(responseEntity);}} catch (IOException e) {e.printStackTrace();} finally {try {if (httpClient != null) {httpClient.close();}if (response != null) {response.close();}} catch (IOException e) {e.printStackTrace();}}return null;}}

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