From 9852b16ec51c85fd808dc68b75eadfebd117a27e Mon Sep 17 00:00:00 2001 From: doum <doum> Date: 星期三, 15 十月 2025 18:27:06 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 50 insertions(+), 0 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java index 239e1dc..2c440ea 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java @@ -25,6 +25,56 @@ System.out.println(calculateDistance(39.326638d,116.363312d,31.326606,118.363272)); } + public static DistanceCustomerModel calculateDistanceGaode(String urlStr, JkCustomer c1, JkCustomer c2) { + DistanceCustomerModel r =new DistanceCustomerModel(); + r.setStart(c1); + r.setEnd(c2); + r.setDistance(0); + r.setCode(0); + r.setLocations( new ArrayList<>()); + try { + String url =urlStr.replace("${lat1}", Constants.formatBigdecimalScale(c1.getLatitude(),6)+"") + .replace("${lat2}",Constants.formatBigdecimalScale(c2.getLatitude(),6)+"") + .replace("${long1}",Constants.formatBigdecimalScale(c1.getLongitude(),6)+"") + .replace("${long2}",Constants.formatBigdecimalScale(c2.getLongitude(),6)+""); + String result = HttpsUtil.get(url ,true); + JSONObject json = JSONObject.parseObject(result); + if(json!=null + && json.getInteger("status")!=null + && json.getInteger("status") ==1 + && json.getJSONObject("route")!=null + && json.getJSONObject("route").getJSONArray("paths") !=null + && json.getJSONObject("route").getJSONArray("paths") .size()>0 ){ + JSONArray array = json.getJSONObject("route").getJSONArray("paths"); + JSONObject model = array.getJSONObject(0);//鍙栫涓�涓� + Long distance = Long.parseLong(model.getString("distance")); + r.setDistance(distance); + JSONArray steps = model.getJSONArray("steps"); + String tl = ""; + if(steps!=null && steps.size()>0){ + for (int i = 0; i < steps.size(); i++) { + if(StringUtils.isBlank(steps.getJSONObject(i).getString("polyline" ))){ + continue; + } + if(!tl.equals("") &&!tl.endsWith(";")){ + tl += ";"; + } + tl+= steps.getJSONObject(i).getString("polyline" ); + } + } + r.setPolyline(tl); + r.setLocations(Arrays.asList(tl.split(";"))); + r.setCode(1); + log.error("鑾峰彇浜ら�氳鍒掔嚎璺俊鎭垚鍔�=============="); + }else{ + log.error("鑾峰彇浜ら�氳鍒掔嚎璺俊鎭垚鍔�=====澶辫触锛侊紒========="); + } + }catch (Exception e){ + log.error("鑾峰彇浜ら�氳鍒掔嚎璺俊鎭垚鍔�=====澶辫触=========="); + } + + return r ; + } public static DistanceModel calculateDistanceGaode(String urlStr, JkSketchCustomer c1, JkSketchCustomer c2) { DistanceModel r =new DistanceModel(); r.setStart(c1); -- Gitblit v1.9.3