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/utils/google/AMapKit.kt |   29 ++++++++++++++++++++++-------
 1 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/app/src/main/java/com/igo/user/utils/google/AMapKit.kt b/app/src/main/java/com/igo/user/utils/google/AMapKit.kt
index 4466719..2deee45 100644
--- a/app/src/main/java/com/igo/user/utils/google/AMapKit.kt
+++ b/app/src/main/java/com/igo/user/utils/google/AMapKit.kt
@@ -11,6 +11,7 @@
 import android.view.View
 import android.widget.Toast
 import androidx.core.content.ContextCompat
+import cn.sinata.rxnetty.LogHelper
 import cn.sinata.xldutils.utils.LanguageUtil
 import com.google.android.gms.common.api.ApiException
 import com.google.android.gms.common.util.CollectionUtils.listOf
@@ -162,9 +163,13 @@
         return aMap.addPolyline(options)
     }
 
-    fun drawLine(context: Context, aMap: ConsumerGoogleMap, latLngs: List<LatLng?>?): Polyline? {
-        val options = PolylineOptions().addAll(latLngs!!).width(20f)
-            .color(ContextCompat.getColor(context, R.color.quantum_googgreen500))
+    fun drawLine(context: Context, aMap: ConsumerGoogleMap, latLngs: List<LatLng>): Polyline {
+        return drawLine(context, aMap, latLngs, R.color.quantum_googgreen500)
+    }
+
+    fun drawLine(context: Context, aMap: ConsumerGoogleMap, latLngs: List<LatLng>, colorRes: Int): Polyline {
+        val options = PolylineOptions().addAll(latLngs).width(20f)
+            .color(ContextCompat.getColor(context, colorRes))
         return aMap.addPolyline(options)
     }
 
@@ -353,10 +358,10 @@
                 "&waypoints=" + centerStr +
                 "&region=" + language +
                 "&key=" + Const.google_key
-
         getClient(url) {
             val googleBean = Gson().fromJson<GoogleRouteBean>(it, GoogleRouteBean::class.java)
             if (googleBean.routes.isNullOrEmpty()) {
+                LogHelper.logRecord("规划路线为空")
                 return@getClient
             }
             val bean = googleBean.routes.first()
@@ -448,18 +453,28 @@
             .url(url)
             .method("GET", null)
             .build()
+        LogHelper.logRecord("请求谷歌服务器 $url")
         val subscribe = Observable.just(request)
-            .map { request -> client.newCall(request).execute() }
+            .map { request -> client.newCall(request).execute().body()?.string() ?: "" }
             .retry(retryCount.toLong())   // 最多额外重试 3 次(加上首次共 4 次尝试)
             .subscribeOn(Schedulers.io())
             .observeOn(AndroidSchedulers.mainThread())
             .subscribe({
                 try {
-                    function(it.body()?.string() ?: "")
+                    if (it.isEmpty()) {
+                        LogHelper.logRecord("请求谷歌服务器成功 获取结果异常为空")
+                        return@subscribe
+                    }
+                    function(it)
+                    LogHelper.logRecord("请求谷歌服务器成功")
                 } catch (e: Exception) {
                     e.printStackTrace()
+                    LogHelper.logRecord("请求谷歌服务器成功,获取结果异常报错 message:${e.message},stackTrace:${e.stackTraceToString()}")
                 }
-            }, { throwable -> throwable.printStackTrace() })
+            }, { throwable ->
+                throwable.printStackTrace()
+                LogHelper.logRecord("请求谷歌服务器异常报错 message:${throwable.message},stackTrace:${throwable.stackTraceToString()}")
+            })
     }
 
     /***

--
Gitblit v1.7.1