From 4ba348b700fd7f461f754a283eaeeba3fc9ff36c Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 25 二月 2023 16:16:33 +0800
Subject: [PATCH] 新增加司机端接口

---
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/GaoDe/MapUtil.java |   81 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 80 insertions(+), 1 deletions(-)

diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/GaoDe/MapUtil.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/GaoDe/MapUtil.java
index 3d7a8cc..7f5e0b8 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/GaoDe/MapUtil.java
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/GaoDe/MapUtil.java
@@ -3,13 +3,18 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.supersavedriving.driver.modular.system.util.GaoDe.model.District;
 import com.supersavedriving.driver.modular.system.util.httpClinet.HttpClientUtil;
 import com.supersavedriving.driver.modular.system.util.httpClinet.HttpResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
+
+import static com.supersavedriving.driver.modular.system.util.GaoDe.MapConfig.key;
 
 /**
 * 地图工具类
@@ -32,7 +37,7 @@
      */
     public static Map<String, String> getDistance(String origins, String destination, Integer type){
         try {
-            String url = "https://restapi.amap.com/v3/distance?key=" + MapConfig.key + "&origins=" + origins + "&destination=" + destination +
+            String url = "https://restapi.amap.com/v3/distance?key=" + key + "&origins=" + origins + "&destination=" + destination +
                     "&type=" + type;
             HttpResult httpResult = HttpClientUtil.pushHttpRequset("GET", url, null, null, "json");
             if(httpResult.getCode() != 200){
@@ -57,4 +62,78 @@
         }
         return null;
     }
+
+
+    /**
+     * 地址转换经纬度
+     * @param address
+     * @return
+     */
+    public static List<String> geocoding(String address){
+        try {
+            String url = "https://restapi.amap.com/v3/geocode/geo?key=" + key + "&output=JSON&address=" + address;
+            HttpResult httpResult = HttpClientUtil.pushHttpRequset("GET", url, null, null, "json");
+            if(httpResult.getCode() != 200){
+                return null;
+            }
+            JSONObject jsonObject = JSON.parseObject(httpResult.getData());
+            String status = jsonObject.getString("status");
+            List<String> list = new ArrayList<>();
+            if(status.equals("1")){
+                JSONArray geocodes = jsonObject.getJSONArray("geocodes");
+                for(int i = 0; i < geocodes.size(); i++){
+                    String location = geocodes.getJSONObject(i).getString("location");
+                    list.add(location);
+                }
+            }
+            return list;
+        }catch (Exception e){
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+
+
+    /**
+     * 根据经纬度获取行政区域信息
+     * @param lon
+     * @param lan
+     * @return
+     * @throws Exception
+     */
+    public static District geocode(String lon, String lan) {
+        try {
+            String url = "https://restapi.amap.com/v3/geocode/regeo?key=" + key + "&location=" + lon + "," + lan;
+            HttpResult httpResult = HttpClientUtil.pushHttpRequset("GET", url, null, null, "json");
+            if(httpResult.getCode() != 200){
+                return null;
+            }
+            JSONObject jsonObject = JSON.parseObject(httpResult.getData());
+            Map<String, String> map = new HashMap<>();
+            if(jsonObject.getString("status").equals("1")){
+                JSONObject regeocode = jsonObject.getJSONObject("regeocode");
+                JSONObject addressComponent = regeocode.getJSONObject("addressComponent");
+                String address = regeocode.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");
+                District district1 = new District();
+                district1.setProvince(province);
+                district1.setProvinceCode(code.substring(0, 2) + "0000");
+                district1.setCity(city);
+                district1.setCityCode(code.substring(0, 4) + "00");
+                district1.setDistrict(district);
+                district1.setDistrictCode(code);
+                return district1;
+            }
+            logger.debug(httpResult.getData());
+            return null;
+        }catch (Exception e){
+            e.printStackTrace();
+            return null;
+        }
+    }
 }

--
Gitblit v1.7.1