From 8580866e175ad0050ee9c5ea3f757856fc242c39 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 09 五月 2025 10:50:17 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java | 47 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 39 insertions(+), 8 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..58322c9 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(); @@ -351,20 +351,21 @@ * @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 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); + System.err.println("获取距离"+jsonObject); 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"); + System.err.println("路线数组"+results); JSONObject jsonObject1 = results.getJSONObject(0); Map<String, String> map = new HashMap<>(); map.put("distance", jsonObject1.getString("distance"));//距离(米) map.put("duration", jsonObject1.getString("duration"));//预计时间(秒) + System.err.println("返回map"); return map; }else{ System.err.println(forObject); @@ -372,7 +373,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 起点坐标 -- Gitblit v1.7.1