From 13b1838cfd7df8c49450e2529943a0f87fbd0354 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 19 六月 2025 18:01:55 +0800 Subject: [PATCH] 推单距离优化 --- UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java | 32 +++++++++++++++++++++++--------- 1 files changed, 23 insertions(+), 9 deletions(-) diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java index 21e60ec..40580fc 100644 --- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java +++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java @@ -17,6 +17,7 @@ import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; +import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -93,7 +94,7 @@ JSONObject data = jsonObject.getJSONObject("data"); String status = data.getString("status"); - gdInterfaceService.saveData("https://restapi.amap.com/v4/geofence/meta", "创建电子围栏"); +// gdInterfaceService.saveData("https://restapi.amap.com/v4/geofence/meta", "创建电子围栏"); // if(status.equals("0")){//创建成功 // GDFence gdFence = new GDFence(); @@ -120,7 +121,20 @@ } return resoult; } - + public Double getDrivingRoute(double startLat, double startLon, double endLat, double endLon) { + String url = "https://restapi.amap.com/v3/direction/driving?" + + "origin=" + startLon + "," + startLat + + "&destination=" + endLon + "," + endLat + + "&key=" + key; + String forObject = restTemplate.getForObject(url, String.class); + // 转化为json对象 + JSONObject jsonObject = JSONObject.parseObject(forObject); + JSONObject route = jsonObject.getJSONObject("route"); + JSONArray paths = route.getJSONArray("paths"); + JSONObject o = (JSONObject)paths.get(0); + Double distance = o.getDouble("distance"); + return distance; + } @@ -153,7 +167,7 @@ JSONObject jsonObject = JSON.parseObject(forObject); JSONObject data = jsonObject.getJSONObject("data"); - gdInterfaceService.saveData("https://restapi.amap.com/v4/geofence/meta", "查询电子围栏"); +// gdInterfaceService.saveData("https://restapi.amap.com/v4/geofence/meta", "查询电子围栏"); if(ToolUtil.isNotEmpty(center)){//圆形电子围栏 JSONArray rs_list = data.getJSONArray("rs_list"); @@ -192,7 +206,7 @@ JSONArray rs_list = data.getJSONArray("rs_list"); jsonArray.addAll(rs_list); - gdInterfaceService.saveData("https://restapi.amap.com/v4/geofence/meta", "查询电子围栏"); +// gdInterfaceService.saveData("https://restapi.amap.com/v4/geofence/meta", "查询电子围栏"); //判断是否有分页 int total_record = data.getIntValue("total_record"); @@ -285,7 +299,7 @@ String s = restTemplate.patchForObject(url, formEntity, String.class); System.out.println(s); - gdInterfaceService.saveData("https://restapi.amap.com/v4/geofence/meta", "更新电子围栏"); +// gdInterfaceService.saveData("https://restapi.amap.com/v4/geofence/meta", "更新电子围栏"); } @@ -323,7 +337,7 @@ } System.out.println("检测:" + forObject); - gdInterfaceService.saveData("https://restapi.amap.com/v4/geofence/status", "电子围栏监控"); +// gdInterfaceService.saveData("https://restapi.amap.com/v4/geofence/status", "电子围栏监控"); return ids; } @@ -337,7 +351,7 @@ restTemplate.delete("https://restapi.amap.com/v4/geofence/meta?key={1}&gid={2}", key, gid); System.out.println("删除:" ); - gdInterfaceService.saveData("https://restapi.amap.com/v4/geofence/meta", "删除电子围栏"); +// gdInterfaceService.saveData("https://restapi.amap.com/v4/geofence/meta", "删除电子围栏"); return true; } @@ -358,7 +372,7 @@ JSONObject jsonObject = JSON.parseObject(forObject); String status = jsonObject.getString("status"); - gdInterfaceService.saveData("https://restapi.amap.com/v3/distance", "查询两点间的距离"); +// gdInterfaceService.saveData("https://restapi.amap.com/v3/distance", "查询两点间的距离"); if(status.equals("1")){ JSONArray results = jsonObject.getJSONArray("results"); @@ -388,7 +402,7 @@ JSONObject jsonObject = JSON.parseObject(forObject); String status = jsonObject.getString("status"); - gdInterfaceService.saveData("https://restapi.amap.com/v3/direction/driving", "获取路径规划"); +// gdInterfaceService.saveData("https://restapi.amap.com/v3/direction/driving", "获取路径规划"); if(status.equals("1")){ JSONObject route = jsonObject.getJSONObject("route"); -- Gitblit v1.7.1