From 6f2d06f779b9af1b179aa5be930f675db860816d Mon Sep 17 00:00:00 2001
From: 18034727885 <973609879@qq.com>
Date: 星期二, 18 八月 2026 10:05:37 +0800
Subject: [PATCH] 修复问题

---
 app/src/main/java/com/igo/user/ui/trip/TripActivity.kt |   29 ++++++++++++-----------------
 1 files changed, 12 insertions(+), 17 deletions(-)

diff --git a/app/src/main/java/com/igo/user/ui/trip/TripActivity.kt b/app/src/main/java/com/igo/user/ui/trip/TripActivity.kt
index 461fa70..c8253ea 100644
--- a/app/src/main/java/com/igo/user/ui/trip/TripActivity.kt
+++ b/app/src/main/java/com/igo/user/ui/trip/TripActivity.kt
@@ -4,7 +4,6 @@
 import android.content.Intent
 import android.content.pm.PackageManager
 import android.graphics.Bitmap
-import android.graphics.Color
 import android.os.Bundle
 import android.os.Handler
 import android.os.Message
@@ -42,7 +41,6 @@
 import com.google.android.gms.maps.model.Marker
 import com.google.android.gms.maps.model.MarkerOptions
 import com.google.android.gms.maps.model.Polyline
-import com.google.android.gms.maps.model.PolylineOptions
 import com.google.android.libraries.mapsplatform.transportation.consumer.ConsumerApi
 import com.google.android.libraries.mapsplatform.transportation.consumer.managers.TripModelCallback
 import com.google.android.libraries.mapsplatform.transportation.consumer.model.MarkerType
@@ -686,16 +684,19 @@
     private fun drawLine() {
         if (order?.orderType == 4) return // 快件订单不绘制
         if (startMarker != null && endMarker != null) {
+            LogHelper.logRecord("开始规划路线")
             AMapKit.initRouteLine(
                 startMarker!!.position,
                 endMarker!!.position,
                 object : (MutableList<LatLng>, Float, Long) -> Unit {
                     override fun invoke(p1: MutableList<LatLng>, p2: Float, p3: Long) {
                         if (isFinishing || isDestroyed) {
+                            LogHelper.logRecord("订单行程页已经关闭")
                             return
                         }
                         aMap?.also {
                             markerLine?.remove()
+                            LogHelper.logRecord("开始绘制规划路线 ${p1.size}")
                             markerLine = AMapKit.drawLine(this@TripActivity, it, p1)
                             AMapKit.moveCamera(it, startMarker!!.position, endMarker!!.position)
                         }
@@ -830,9 +831,15 @@
                             object : TypeToken<List<Point>>() {}.type
                         )
                         if (!list.isNullOrEmpty()) {
-                            oldDrivedRouteOverlay = newDrivedRouteOverlay
-                            newDrivedRouteOverlay = drawLine(list.map { LatLng(it.lat, it.lon) })
-                            oldDrivedRouteOverlay?.remove()
+                            aMap?.also { it ->
+                                oldDrivedRouteOverlay = newDrivedRouteOverlay
+                                val data = list.map { LatLng(it.lat, it.lon) }.toMutableList()
+                                if (driverMarker != null) {
+                                    data.add(driverMarker!!.position)
+                                }
+                                newDrivedRouteOverlay = AMapKit.drawLine(this, it, data, cn.sinata.xldutils.R.color.textColor99)
+                                oldDrivedRouteOverlay?.remove()
+                            }
                         }
                     } catch (e: Exception) {
                         e.printStackTrace()
@@ -900,18 +907,6 @@
         } else {
             driverMarker?.position = latLng
         }
-    }
-
-    /**
-     * 绘制已行驶灰色路径
-     */
-    private fun drawLine(latLngs: List<LatLng>): Polyline? {
-        val options = PolylineOptions().addAll(latLngs)
-        if (driverMarker != null) {
-            options.add(driverMarker!!.position)
-        }
-        options.width(20f).color(Color.parseColor("#999999"))
-        return aMap?.addPolyline(options)
     }
 
     /**

--
Gitblit v1.7.1