From bec5cb722440d35c2e28d81b26c0cf4e39dfdd49 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 13 三月 2023 09:22:16 +0800
Subject: [PATCH] 修改bug

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java |   25 +++++++++++++++++--------
 1 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java
index 5de5bdc..80b9c1f 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java
@@ -198,14 +198,23 @@
      * @throws Exception
      */
     public static DistancematrixVo getDistancematrix(Double sLat, Double sLnt, Double eLat, Double eLnt) throws Exception{
-        ReverseGeocodeVo reverseGeocode = getReverseGeocode(sLat, sLnt);
-        ReverseGeocodeVo reverseGeocode1 = getReverseGeocode(eLat, eLnt);
-        if(null != reverseGeocode && null != reverseGeocode1){
-            String origin = reverseGeocode.getAddress();
-            String destination = reverseGeocode1.getAddress();
-            return getDistancematrix(origin, destination);
-        }
-        return null;
+        GeoApiContext context = new GeoApiContext.Builder()
+                .apiKey(key)
+                .build();
+        DistanceMatrixApiRequest request = DistanceMatrixApi.newRequest(context);
+        request.origins(new LatLng(sLat, sLnt));
+        request.destinations(new LatLng(eLat, eLnt));
+        request.mode(TravelMode.DRIVING);//出行方式(驾车)
+        DistanceMatrix distanceMatrix = request.await();
+        Gson gson = new GsonBuilder().setPrettyPrinting().create();
+        System.out.println(gson.toJson(distanceMatrix));
+        context.shutdown();
+
+        DistanceMatrixElement elements = distanceMatrix.rows[0].elements[0];
+        DistancematrixVo vo = new DistancematrixVo();
+        vo.setDistance(elements.distance.inMeters);
+        vo.setDuration(elements.duration.inSeconds);
+        return vo;
     }
 
 

--
Gitblit v1.7.1