1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java获取经纬度_java调用高德地图api获取某个位置的经纬度

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

时间:2021-08-25 19:34:01

相关推荐

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

java调用高德地图api获取经纬度的方法,废话少说,直接上代码:

import com.fasterxml.jackson.databind.JsonNode;

import com.ning.http.client.AsyncHttpClient;

import com.ning.http.client.AsyncHttpClientConfig;

import com.ning.http.client.ListenableFuture;

import com.ning.http.client.Response;

import com..HttpUtils;

import org.mortbay.util.UrlEncoded;

/**

* 通过java api从高德地图获取经纬度

* address 位置

* output 返回结果格式

* key 高德key值,需申请

*/

public class Distance {

public static void main(String[] args) {

//1、通过java api从高德地图获取经纬度

String url = "/v3/geocode/geo?address=上海市东方明珠&output=JSON&key=xxxxxxxxx";

AsyncHttpClientConfig.Builder builder = new AsyncHttpClientConfig.Builder();

builder.setCompressionEnabled(true).setAllowPoolingConnection(true);

builder.setRequestTimeoutInMs((int) TimeUnit.MINUTES.toMillis(1));

builder.setIdleConnectionTimeoutInMs((int) TimeUnit.MINUTES.toMillis(1));

AsyncHttpClient client = new AsyncHttpClient(builder.build());

try {

ListenableFuture future = client.prepareGet(url).execute();

String result = future.get().getResponseBody();

System.out.println(result);

JsonNode jsonNode = new com.fasterxml.jackson.databind.ObjectMapper().readTree(future.get().getResponseBody());

if(jsonNode.findValue("status").textValue().equals("1")) {

JsonNode listSource = jsonNode.findValue("location");

System.out.println(listSource);

for(String location : listSource.textValue().split(",")){

//得到这个位置的经纬度

System.out.println(location);

//System.out.println(Double.valueOf(location));

}

}

} catch (Exception e) {

e.printStackTrace();

} finally {

if(client != null){

client.close();

}

}

}

}

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