From 4ab710d8d70017f090dd9601099ded1a50a58a10 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 27 四月 2026 22:34:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/services/src/main/java/com/doumee/core/utils/geocode/MapUtil.java |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/core/utils/geocode/MapUtil.java b/server/services/src/main/java/com/doumee/core/utils/geocode/MapUtil.java
index f70ae35..1bb318f 100644
--- a/server/services/src/main/java/com/doumee/core/utils/geocode/MapUtil.java
+++ b/server/services/src/main/java/com/doumee/core/utils/geocode/MapUtil.java
@@ -165,4 +165,44 @@
             throw new RuntimeException("楂樺痉鍦板浘璺緞瑙勫垝寮傚父", e);
         }
     }
+
+    public static JSONObject directionInfo(String mode, String from, String to) {
+        // 楂樺痉鍧愭爣绯讳负 lng,lat
+        String[] fromArr = from.split(",");
+        String[] toArr = to.split(",");
+        String origin = fromArr[1] + "," + fromArr[0];   // lng,lat
+        String destination = toArr[1] + "," + toArr[0];  // lng,lat
+
+        try {
+            String url;
+            if ("bicycling".equals(mode)) {
+                url = BICYCLING_URL
+                        + "?key=" + amapKey
+                        + "&origin=" + URLEncoder.encode(origin, "UTF-8")
+                        + "&destination=" + URLEncoder.encode(destination, "UTF-8");
+            } else {
+                // 榛樿椹捐溅
+                url = DRIVING_URL
+                        + "?key=" + amapKey
+                        + "&origin=" + URLEncoder.encode(origin, "UTF-8")
+                        + "&destination=" + URLEncoder.encode(destination, "UTF-8");
+            }
+
+            log.info("楂樺痉鍦板浘璺緞瑙勫垝璇锋眰: mode={}, from={}, to={}", mode, from, to);
+
+            JSONObject json = new Http().build(url)
+                    .setConnectTimeout(5000)
+                    .setReadTimeout(10000)
+                    .get()
+                    .toJSONObject();
+
+            log.info("楂樺痉鍦板浘璺緞瑙勫垝鍝嶅簲: {}", json);
+            return json;
+        } catch (IOException e) {
+            log.error("楂樺痉鍦板浘璺緞瑙勫垝寮傚父", e);
+            throw new RuntimeException("楂樺痉鍦板浘璺緞瑙勫垝寮傚父", e);
+        }
+    }
+
+
 }

--
Gitblit v1.9.3