From 141376c835204f1f1c33ddfbd365a8162e022a9c Mon Sep 17 00:00:00 2001
From: GamblingDog <125975490@qq.com>
Date: 星期二, 09 九月 2025 11:12:01 +0800
Subject: [PATCH] 交付

---
 app/src/main/java/com/xianning/driver/base/gaode/BaiduUtils.java |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/app/src/main/java/com/xianning/driver/base/gaode/BaiduUtils.java b/app/src/main/java/com/xianning/driver/base/gaode/BaiduUtils.java
index 4ba454b..c2ccb2b 100644
--- a/app/src/main/java/com/xianning/driver/base/gaode/BaiduUtils.java
+++ b/app/src/main/java/com/xianning/driver/base/gaode/BaiduUtils.java
@@ -14,9 +14,10 @@
 import com.baidu.mapapi.search.route.WalkingRouteResult;
 
 import java.util.ArrayList;
+import java.util.List;
 
 public class BaiduUtils {
-    public static void initRouteLine(LatLng start,LatLng end,Callback callback){
+    public static void initRouteLine(LatLng start, LatLng end, List<LatLng> center, Callback callback){
         RoutePlanSearch mSearch = RoutePlanSearch.newInstance();
         OnGetRoutePlanResultListener listener = new OnGetRoutePlanResultListener(){
             @Override
@@ -37,14 +38,14 @@
             @Override
             public void onGetDrivingRouteResult(DrivingRouteResult drivingRouteResult) {
                 //驾车
-                if (drivingRouteResult.getRouteLines().size()>0){
+                if (drivingRouteResult.getRouteLines()!=null&&drivingRouteResult.getRouteLines().size()>0){
                     DrivingRouteLine drivingRouteLine = drivingRouteResult.getRouteLines().get(0);
                     ArrayList<LatLng> latLngs = new ArrayList<>();
                     for (int i=0;i<drivingRouteLine.getAllStep().size();i++){
                         DrivingRouteLine.DrivingStep steps = drivingRouteLine.getAllStep().get(i);
                         latLngs.addAll(steps.getWayPoints());
                     }
-                    callback.onGetDrivingRouteResult(latLngs,(float) drivingRouteLine.getDistance(), drivingRouteLine.getDuration());
+                    callback.onGetDrivingRouteResult(latLngs,(float) drivingRouteLine.getDistance(), drivingRouteLine.getDuration()/60);
                 }
                 mSearch.destroy();
             }
@@ -62,9 +63,18 @@
         mSearch.setOnGetRoutePlanResultListener(listener);
         PlanNode stNode = PlanNode.withLocation(start);
         PlanNode enNode = PlanNode.withLocation(end);
-        mSearch.drivingSearch((new DrivingRoutePlanOption())
+        List<PlanNode>centers = new ArrayList<PlanNode>();
+        DrivingRoutePlanOption drivingRoutePlanOption = new DrivingRoutePlanOption();
+        drivingRoutePlanOption
                 .from(stNode)
-                .to(enNode));
+                .to(enNode);
+        if (center!=null&&center.size()!=0){
+            for (LatLng item:center){
+                centers.add( PlanNode.withLocation(item));
+            }
+            drivingRoutePlanOption.passBy(centers);
+        }
+        mSearch.drivingSearch(drivingRoutePlanOption);
     }
 
     public interface Callback{

--
Gitblit v1.7.1