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.sun.deploy.net.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 = "http://restapi.amap.com/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();

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值