From 434088b7d4ee12c1206cfb194da2b600f4815f94 Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期二, 15 八月 2023 18:27:37 +0800
Subject: [PATCH] broker 卡车公司端

---
 src/main/java/com/stylefeng/guns/modular/system/utils/GoogleMap/GoogleMapUtil.java |  128 +++++++++++++++++++++++-------------------
 1 files changed, 71 insertions(+), 57 deletions(-)

diff --git a/src/main/java/com/stylefeng/guns/modular/system/utils/GoogleMap/GoogleMapUtil.java b/src/main/java/com/stylefeng/guns/modular/system/utils/GoogleMap/GoogleMapUtil.java
index f727ca7..1a917b6 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/utils/GoogleMap/GoogleMapUtil.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/utils/GoogleMap/GoogleMapUtil.java
@@ -21,7 +21,8 @@
 @Component
 public class GoogleMapUtil {
 
-    private static final String key = "AIzaSyBBW0XxW1FK7IXmmS7KFtAjX3o99eFPsss";
+    //    private final String key = "AIzaSyBBW0XxW1FK7IXmmS7KFtAjX3o99eFPsss";
+    private final String key = "AIzaSyBBW0XxW1FK7IXmmS7KFtAjX3o99eFPsss";
 
     @Autowired
     private HttpClientUtil httpClientUtil;
@@ -32,7 +33,8 @@
      * @param address       地址信息
      * @throws Exception
      */
-    public static GeocodeVo getGeocode(String address){
+    public GeocodeVo getGeocode(String address){
+        log.info("谷歌地图  根据地址获取经纬度:"+address);
         GeoApiContext context = new GeoApiContext.Builder()
                 .apiKey(key)
                 .build();
@@ -68,40 +70,40 @@
      */
     public ReverseGeocodeVo getReverseGeocode(double lat, double lng) throws Exception{
         // TODO: 2022/10/22 临时用IGO跳转
-        Map<String, Object> map = new HashMap<>();
-        map.put("lat", lat);
-        map.put("lng", lng);
-        map.put("key", key);
-        HttpResult httpResult = httpClientUtil.pushHttpRequset("POST", "http://182.160.16.251:1010/base/googleMap/getReverseGeocode", map, null, "form");
-        ReverseGeocodeVo reverseGeocode = JSON.parseObject(httpResult.getData(), ReverseGeocodeVo.class);
-        return reverseGeocode;
+//        Map<String, Object> map = new HashMap<>();
+//        map.put("lat", lat);
+//        map.put("lng", lng);
+//        map.put("key", key);
+//        HttpResult httpResult = httpClientUtil.pushHttpRequset("POST", "http://182.160.16.251:1010/base/googleMap/getReverseGeocode", map, null, "form");
+//        ReverseGeocodeVo reverseGeocode = JSON.parseObject(httpResult.getData(), ReverseGeocodeVo.class);
+//        return reverseGeocode;
 
-//        GeoApiContext context = new GeoApiContext.Builder()
-//                .apiKey(key)
-//                .build();
-//        GeocodingApiRequest request = GeocodingApi.reverseGeocode(context, new LatLng(lat, lng));
-//        GeocodingResult[] results = request.await();
-//        ReverseGeocodeVo vo = null;
-//        if(results.length > 0){
-//            Gson gson = new GsonBuilder().setPrettyPrinting().create();
-//            System.out.println(gson.toJson(results[0].addressComponents));
-//
-//
-//            vo = new ReverseGeocodeVo();
-//            AddressComponent[] addressComponents = results[0].addressComponents;
-//            AddressComponentsVo[] addressComponentsVos = new AddressComponentsVo[addressComponents.length];
-//            for (int i = 0; i < addressComponents.length; i++) {
-//                AddressComponentsVo addressComponentsVos1 = new AddressComponentsVo();
-//                addressComponentsVos1.setLongName(addressComponents[i].longName);
-//                addressComponentsVos1.setShortName(addressComponents[i].shortName);
-//                addressComponentsVos[i] = addressComponentsVos1;
-//            }
-//            String address = results[0].formattedAddress;
-//            vo.setAddressComponentsVos(addressComponentsVos);
-//            vo.setAddress(address);
-//        }
-//        context.shutdown();
-//        return vo;
+        GeoApiContext context = new GeoApiContext.Builder()
+                .apiKey(key)
+                .build();
+        GeocodingApiRequest request = GeocodingApi.reverseGeocode(context, new LatLng(lat, lng));
+        GeocodingResult[] results = request.await();
+        ReverseGeocodeVo vo = null;
+        if(results.length > 0){
+            Gson gson = new GsonBuilder().setPrettyPrinting().create();
+            System.out.println(gson.toJson(results[0].addressComponents));
+
+
+            vo = new ReverseGeocodeVo();
+            AddressComponent[] addressComponents = results[0].addressComponents;
+            AddressComponentsVo[] addressComponentsVos = new AddressComponentsVo[addressComponents.length];
+            for (int i = 0; i < addressComponents.length; i++) {
+                AddressComponentsVo addressComponentsVos1 = new AddressComponentsVo();
+                addressComponentsVos1.setLongName(addressComponents[i].longName);
+                addressComponentsVos1.setShortName(addressComponents[i].shortName);
+                addressComponentsVos[i] = addressComponentsVos1;
+            }
+            String address = results[0].formattedAddress;
+            vo.setAddressComponentsVos(addressComponentsVos);
+            vo.setAddress(address);
+        }
+        context.shutdown();
+        return vo;
     }
 
 
@@ -197,29 +199,29 @@
      */
     public DistancematrixVo getDistancematrix(String origin, String destination) throws Exception{
         // TODO: 2022/10/22 临时用IGO跳转
-        Map<String, Object> map = new HashMap<>();
-        map.put("origin", origin);
-        map.put("destination", destination);
-        map.put("key", key);
-        HttpResult httpResult = httpClientUtil.pushHttpRequset("POST", "http://182.160.16.251:1010/base/googleMap/getDistancematrix", map, null, "form");
-        DistancematrixVo reverseGeocode = JSON.parseObject(httpResult.getData(), DistancematrixVo.class);
-        return reverseGeocode;
+//        Map<String, Object> map = new HashMap<>();
+//        map.put("origin", origin);
+//        map.put("destination", destination);
+//        map.put("key", key);
+//        HttpResult httpResult = httpClientUtil.pushHttpRequset("POST", "http://182.160.16.251:1010/base/googleMap/getDistancematrix", map, null, "form");
+//        DistancematrixVo reverseGeocode = JSON.parseObject(httpResult.getData(), DistancematrixVo.class);
+//        return reverseGeocode;
 
-//        GeoApiContext context = new GeoApiContext.Builder()
-//                .apiKey(key)
-//                .build();
-//        DistanceMatrixApiRequest request = DistanceMatrixApi.getDistanceMatrix(context, new String[]{origin}, new String[]{destination});
-//        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;
+        GeoApiContext context = new GeoApiContext.Builder()
+                .apiKey(key)
+                .build();
+        DistanceMatrixApiRequest request = DistanceMatrixApi.getDistanceMatrix(context, new String[]{origin}, new String[]{destination});
+        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;
     }
 
 
@@ -264,4 +266,16 @@
     }
 
 
+
+
+
+    public void main(String[] ages){
+        try {
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+
 }

--
Gitblit v1.7.1