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

1、代码展示

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<Response> 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();
            }
        }
    }
}

2、详细请看高德官网api介绍:
http://lbs.amap.com/api/webservice/reference/georegeo/

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值