From 7da4caa40befd523033b8a1d01246ae468674680 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 12 九月 2022 08:57:59 +0800
Subject: [PATCH] 更新用户端接口

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java |   38 ++++++++++++++++++++++++++++++++++----
 1 files changed, 34 insertions(+), 4 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 cabe7c4..aa6b522 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
@@ -46,21 +46,31 @@
      * @return
      * @throws Exception
      */
-    public static String getReverseGeocode(double lat, double lng) throws Exception{
+    public static ReverseGeocodeVo getReverseGeocode(double lat, double lng) throws Exception{
         GeoApiContext context = new GeoApiContext.Builder()
                 .apiKey(key)
                 .build();
         GeocodingApiRequest request = GeocodingApi.reverseGeocode(context, new LatLng(lat, lng));
         GeocodingResult[] results = request.await();
-        String address = null;
+        ReverseGeocodeVo vo = null;
         if(results.length > 0){
             Gson gson = new GsonBuilder().setPrettyPrinting().create();
             System.out.println(gson.toJson(results[0].addressComponents));
 
-            address = results[0].formattedAddress;
+
+            vo = new ReverseGeocodeVo();
+            AddressComponent[] addressComponents = results[0].addressComponents;
+            AddressComponentsVo[] addressComponentsVos = new AddressComponentsVo[addressComponents.length];
+            for (int i = 0; i < addressComponents.length; i++) {
+                addressComponentsVos[i].setLongName(addressComponents[i].longName);
+                addressComponentsVos[i].setShortName(addressComponents[i].shortName);
+            }
+            String address = results[0].formattedAddress;
+            vo.setAddressComponentsVos(addressComponentsVos);
+            vo.setAddress(address);
         }
         context.shutdown();
-        return address;
+        return vo;
     }
 
 
@@ -125,6 +135,26 @@
     }
 
 
+    /**
+     * 获取两点之间的距离
+     * @param sLat
+     * @param sLnt
+     * @param eLat
+     * @param eLnt
+     * @return
+     * @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;
+    }
+
 
     /**
      * 获取两地点之间的线路规划

--
Gitblit v1.7.1