From c97d60075a43626dcdd4d5d4e59d55c94642a7dc Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 20 十月 2025 10:35:42 +0800
Subject: [PATCH] 最新版本541200007
---
server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java | 62 +++++++++++++++++++++++++++++--
1 files changed, 58 insertions(+), 4 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 7f76135..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,11 +25,12 @@
System.out.println(calculateDistance(39.326638d,116.363312d,31.326606,118.363272));
}
- public static DistanceModel calculateDistanceGaode(String urlStr, JkSketchCustomer c1, JkSketchCustomer c2) {
- DistanceModel r =new DistanceModel();
+ 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)+"")
@@ -47,7 +48,7 @@
JSONArray array = json.getJSONObject("route").getJSONArray("paths");
JSONObject model = array.getJSONObject(0);//鍙栫涓�涓�
Long distance = Long.parseLong(model.getString("distance"));
- r.setDistance(distance*1000);
+ r.setDistance(distance);
JSONArray steps = model.getJSONArray("steps");
String tl = "";
if(steps!=null && steps.size()>0){
@@ -61,9 +62,62 @@
tl+= steps.getJSONObject(i).getString("polyline" );
}
}
+ r.setPolyline(tl);
r.setLocations(Arrays.asList(tl.split(";")));
+ r.setCode(1);
+ log.error("鑾峰彇浜ら�氳鍒掔嚎璺俊鎭垚鍔�==============");
}else{
- log.error("鑾峰彇浜ら�氳鍒掔嚎璺俊鎭垚鍔�==============");
+ 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);
+ 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("鑾峰彇浜ら�氳鍒掔嚎璺俊鎭垚鍔�=====澶辫触==========");
--
Gitblit v1.9.3