通过经纬度使用高德api获取具体位置

复制代码
package com.gofun.api.utils;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

import com.alibaba.fastjson.JSONObject;
import com.gofun.ms.common.util.StringUtils;

/**
 * @Author ZhangYuLong
 * @Description 通过经纬度使用高德接口获取地址信息
 * @Date 2023/7/19 17:17
 * @Version 1.0
 **/
public class AddressAmapUtil {
    private static final String GD_URL = "https://restapi.amap.com/v3/geocode/regeo?output=json&location=";
    private static final String KEY = "6bea1713bc807ff2a805eb5533f65e91";


    public static String getAddr(String longitude, String latitude){
        if(StringUtils.isBlank(longitude)||StringUtils.isBlank(latitude)){
            System.out.println("经纬度不能急为空");
            return "";
        }
        String url = GD_URL+longitude+","+latitude+"&key="+KEY+"&radius=1000&extensions=all";
        try {
            URL apiUrl = new URL(url);
            HttpURLConnection connection = (HttpURLConnection) apiUrl.openConnection();
            connection.setRequestMethod("GET");
            connection.connect();
            int responseCode = connection.getResponseCode();
            if (responseCode == HttpURLConnection.HTTP_OK) {
                BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                StringBuilder response = new StringBuilder();
                String line;
                while ((line = reader.readLine()) != null) {
                    response.append(line);
                }
                reader.close();
                JSONObject json = (JSONObject)JSONObject.parse(response.toString());
                String status = json.getString("status");
                if (status.equals("1")) {
                    JSONObject regeocode = json.getJSONObject("regeocode");
                    return regeocode.get("formatted_address").toString();
                } else {
                    System.out.println("查询失败:" + json.getString("info"));
                }
            } else {
                System.out.println("HTTP请求失败:" + responseCode);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

}
复制代码

 

posted @   西风51668  阅读(1214)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示