18582019636
2024-06-25 ca497f8389174bb81e91f840cab70c9579bcdd29
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/GaoDeMapUtil.java
@@ -5,12 +5,14 @@
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.core.enums.GaoDeEnum;
import com.ruoyi.common.core.vo.GaoDeMap;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.StandardCharsets;
/**
 * @author HJL
@@ -146,4 +148,33 @@
        return result.toString();
    }
    /**
     * 从出发地触发到目的地路线规划
     *
     * @param origin      出发地经纬度
     * @param destination 目的地经纬度
     * @return 路线规划信息
     */
    public static Object routing(String origin, String destination) {
        String baseUrl = "https://restapi.amap.com/v3/direction/driving?origin=%s&destination=%s" +
                "&extensions=all&output=json&key=%s";
        String requestUrl = String.format(baseUrl, origin, destination, GAO_DE_KEY);
        StringBuilder json = new StringBuilder();
        try {
            URL url = new URL(requestUrl);
            URLConnection urlConnection = url.openConnection();
            BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(),
                    StandardCharsets.UTF_8));
            String inputLine;
            while ((inputLine = in.readLine()) != null) {
                json.append(inputLine);
            }
            in.close();
        } catch (IOException ignored) {
        }
        String data = json.toString();
        GaoDeMap gaoDeMap = JSONObject.parseObject(data, GaoDeMap.class);
        return gaoDeMap.getRoute().getPaths().get(0);
    }
}