liujie
2023-10-26 e030255c23c7ba3e2cbad1036a810d6d72fa864f
cloud-server-other/src/main/java/com/dsh/other/util/GDMapGeocodingUtil.java
@@ -3,8 +3,10 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import com.dsh.other.util.httpClinet.HttpClientUtil;
import com.dsh.other.util.httpClinet.HttpResult;
import org.springframework.stereotype.Component;
import java.io.BufferedReader;
import java.io.IOException;
@@ -25,10 +27,6 @@
public class GDMapGeocodingUtil {
    private String key = "fb131ad2dbfb3f39d7d37d244b92aa2d";
    @Autowired
    private HttpClientUtil httpClientUtil;
    /**
     * 将行政区域名称转化为坐标
@@ -58,12 +56,10 @@
        String url = "https://restapi.amap.com/v3/geocode/geo?key=" + key + "&output=JSON";
        url += "&address=" + province + (ToolUtil.isNotEmpty(city) ? city : "") + (ToolUtil.isNotEmpty(county) ? county : "") + (ToolUtil.isNotEmpty(address) ? address : "");
        HttpResult httpResult = httpClientUtil.pushHttpRequset("GET", url, null, null, "json");
        HttpResult httpResult = HttpClientUtil.pushHttpRequset("GET", url, null, null, "json");
        JSONObject jsonObject = JSON.parseObject(httpResult.getData());
        String status = jsonObject.getString("status");
        List<String> list = new ArrayList<>();
//        gdInterfaceService.saveData("https://restapi.amap.com/v3/geocode/geo", "行政区域转经纬度");
        if(status.equals("1")){
            JSONArray geocodes = jsonObject.getJSONArray("geocodes");
@@ -82,12 +78,10 @@
    public Map<String, Object> geocoding(String address) throws Exception{
        Map<String, Object> map = new HashMap<>();
        String url = "https://restapi.amap.com/v3/geocode/geo?key=" + key + "&output=JSON&address=" + address;
        HttpResult httpResult = httpClientUtil.pushHttpRequset("GET", url, null, null, "json");
        HttpResult httpResult = HttpClientUtil.pushHttpRequset("GET", url, null, null, "json");
        JSONObject jsonObject = JSON.parseObject(httpResult.getData());
        String status = jsonObject.getString("status");
        List<String> list = new ArrayList<>();
//        gdInterfaceService.saveData("https://restapi.amap.com/v3/geocode/geo", "行政区域转经纬度");
        if(status.equals("1")){
            JSONArray geocodes = jsonObject.getJSONArray("geocodes");
@@ -112,11 +106,9 @@
     */
    public Map<String, String> geocode(String lon, String lan) throws Exception{
        String url = "https://restapi.amap.com/v3/geocode/regeo?key=" + key + "&location=" + lon + "," + lan;
        HttpResult httpResult = httpClientUtil.pushHttpRequset("GET", url, null, null, "json");
        HttpResult httpResult = HttpClientUtil.pushHttpRequset("GET", url, null, null, "json");
        JSONObject jsonObject = JSON.parseObject(httpResult.getData());
        Map<String, String> map = new HashMap<>();
//        gdInterfaceService.saveData("https://restapi.amap.com/v3/geocode/regeo", "经纬度转行政区域");
        if(jsonObject.getString("status").equals("1")){
            JSONObject regeocode = jsonObject.getJSONObject("regeocode");
@@ -147,7 +139,7 @@
     */
    public Map<String, String> convert(String locations, String coordsys) throws Exception{
        String url = "https://restapi.amap.com/v3/assistant/coordinate/convert?locations=" + locations + "&coordsys=" + coordsys + "&output=json&key=" + key;
        HttpResult httpResult = httpClientUtil.pushHttpRequset("GET", url, null, null, "json");
        HttpResult httpResult = HttpClientUtil.pushHttpRequset("GET", url, null, null, "json");
        JSONObject jsonObject = JSON.parseObject(httpResult.getData());
        Map<String, String> map = new HashMap<>();
        if("1".equals(jsonObject.getString("status"))){
@@ -207,11 +199,14 @@
            String queryResult = getResponse(queryUrl);
            JSONObject job = JSONObject.parseObject(queryResult);
            JSONArray ja = job.getJSONArray("results");
            if (ja.size() == 0){
                return 0.00 + "";
            }
            JSONObject jobO = JSONObject.parseObject(ja.getString(0));
            result = Long.parseLong(jobO.get("distance").toString());
            double kilDis = (double) result / 1000;
            DecimalFormat decimalFormat = new DecimalFormat("#.00");
            return decimalFormat.format(kilDis);
            double demo = result / 1000;
            return decimalFormat.format(demo);
        } catch (Exception e) {
            throw new RuntimeException();
        }