From df7b409920210fa920f99516450001827db92ddc Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 03 七月 2025 19:06:19 +0800
Subject: [PATCH] bug修改

---
 UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java |   54 ++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 44 insertions(+), 10 deletions(-)

diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java
index dc5e5a3..12f6dff 100644
--- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java
+++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java
@@ -33,7 +33,7 @@
     @Autowired
     private IGDInterfaceService gdInterfaceService;
 
-    private String key = "5053ca611c0106e01a665ce7ab84ff26";
+    private String key = "WQhfsluNzEeUHUxoH4jc4JiCQOXw4Mnx";
 
     private JSONArray jsonArray = new JSONArray();
 
@@ -304,11 +304,12 @@
             diu = "B78F99DD-2496-4A43-843B-172CDA2D9798";
         }
         locations = locations + "," + (new Date().getTime() / 1000);
-        String url = "https://restapi.amap.com/v4/geofence/status?key=" + key + "&diu=" + diu + "&locations=" + locations;
+        String url = "https://api.map.baidu.com/directionlite/v1/geofence/status?key=" + key + "&diu=" + diu + "&locations=" + locations;
         String forObject = restTemplate.getForObject(url, String.class);
         JSONObject jsonObject = JSON.parseObject(forObject);
         List<String> ids = new ArrayList<>();
         JSONObject data = jsonObject.getJSONObject("data");
+        System.err.println(data);
         int status = data.getIntValue("status");
         if(0 == status){
             JSONArray fencingEventList = data.getJSONArray("fencing_event_list");
@@ -351,16 +352,20 @@
      * @return
      */
     public Map<String, String> getDistance(String origins, String destination, Integer type){
-        String url = "https://restapi.amap.com/v3/distance?key=" + key + "&origins=" + origins + "&destination=" + destination +
-                "&type=" + type;
+
+        String[] split = origins.split(",");
+        String[] split1 = destination.split(",");
+        origins = split[1] + "," + split[0];
+        destination = split1[1] + "," + split1[0];
+
+        String url = "https://api.map.baidu.com/directionlite/v1/driving?origin="+origins+"&destination="+destination+"&ak="+key;
         String forObject = restTemplate.getForObject(url, String.class);
         JSONObject jsonObject = JSON.parseObject(forObject);
         String status = jsonObject.getString("status");
-
 //        gdInterfaceService.saveData("https://restapi.amap.com/v3/distance", "查询两点间的距离");
-
-        if(status.equals("1")){
-            JSONArray results = jsonObject.getJSONArray("results");
+        if(status.equals("0")){
+            JSONObject result = jsonObject.getJSONObject("result");
+            JSONArray results = result.getJSONArray("routes");
             JSONObject jsonObject1 = results.getJSONObject(0);
             Map<String, String> map = new HashMap<>();
             map.put("distance", jsonObject1.getString("distance"));//距离(米)
@@ -372,7 +377,37 @@
         return null;
     }
 
-
+    /**
+     * 根据经纬度获取行政区域信息
+     *
+     * @param lon
+     * @param lan
+     * @return
+     * @throws Exception
+     */
+    public Map<String, String> geocode(String lon, String lan) throws Exception {
+        String url = "https://api.map.baidu.com/reverse_geocoding/v3/?ak=" + key + "&output=json&coordtype=bd09ll" + "&location=" + lan + "," + lon;
+        String forObject = restTemplate.getForObject(url, String.class);
+        JSONObject jsonObject = JSON.parseObject(forObject);
+        Map<String, String> map = new HashMap<>();
+        if (jsonObject.getString("status").equals("0")) {
+            JSONObject result = jsonObject.getJSONObject("result");
+            JSONObject addressComponent = result.getJSONObject("addressComponent");
+            String address = result.getString("formatted_address");
+            map.put("address", address);
+            String code = addressComponent.getString("adcode");
+            String province = addressComponent.getString("province");
+            String city = addressComponent.getString("city");
+            String district = addressComponent.getString("district");
+            map.put("province", province);
+            map.put("provinceCode", code.substring(0, 2) + "0000");
+            map.put("city", city);
+            map.put("cityCode", code.substring(0, 4) + "00");
+            map.put("district", district);
+            map.put("districtCode", code);
+        }
+        return map;
+    }
     /**
      * 获取路径规划
      * @param origins       起点坐标
@@ -400,6 +435,5 @@
         }
         return null;
     }
-
 
 }

--
Gitblit v1.7.1