From ea897afab4491b3b87ad4cfbfc11aa04970ddcce Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 10 Mar 2023 18:33:58 +0800 Subject: [PATCH] =?UTF-8?q?[sweeper]=20[=E7=BB=98=E5=88=B6=E9=9D=A0?= =?UTF-8?q?=E8=BE=B9=E6=95=B0=E6=8D=AE=20=E8=B7=9D=E7=A6=BB=E5=A4=A7?= =?UTF-8?q?=E4=BA=8E10=E7=B1=B3=E7=9A=84=E7=BA=BF=E6=AE=B5=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E9=A2=9C=E8=89=B2=E4=B8=BA=E9=80=8F=E6=98=8E]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/sweeper/view/WeltMapOverView.kt | 36 ++++++++++++------ .../mogo/och/sweeper/view/WeltSmallMapView.kt | 38 +++++++++++++------ 2 files changed, 51 insertions(+), 23 deletions(-) diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/WeltMapOverView.kt b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/WeltMapOverView.kt index 86638a4956..9f68431cb2 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/WeltMapOverView.kt +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/WeltMapOverView.kt @@ -16,6 +16,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Liste import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.eagle.core.utilcode.util.CoordinateUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.och.sweeper.R import com.mogo.och.sweeper.bean.SweeperRoutePlanningUpdateReqBean @@ -30,7 +31,7 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { private var mTaskCoordinatesLatLng: MutableList = mutableListOf() //当前大任务的所有起终点集合 private var mCarMarker: Marker? = null private var mAMap: AMap? = null - private var mPolylines: MutableList = mutableListOf() + private var mWeltPolylines: Polyline? = null private var mRoutePolylines: Polyline?=null private val mLineMarkers: MutableList = mutableListOf() private var mFirst: Boolean = false @@ -105,18 +106,32 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { */ private fun getRouteColorList(weltData: MutableList):MutableList { val colorList= mutableListOf() + var nextWeltDataBean:WeltDataBean?=null for (i in weltData.indices) { - if (weltData[i].weltDistance == -9999.0) {//未经过 + val weltDataBean = weltData[i] + if(i+110){ + colorList.add(Color.TRANSPARENT) + continue + } + } + if (weltDataBean.weltDistance == -9999.0) {//未经过 colorList.add(Color.parseColor("#3BA1CC")) - } else if (weltData[i].weltDistance == -10000.0) {//非贴边 + } else if (weltDataBean.weltDistance == -10000.0) {//非贴边 colorList.add(Color.parseColor("#236299")) - } else if (weltData[i].weltDistance < 0) { + } else if (weltDataBean.weltDistance < 0) { colorList.add(Color.parseColor("#C22101")) - } else if (weltData[i].weltDistance >= 0 && weltData[i].weltDistance < 10) { + } else if (weltDataBean.weltDistance >= 0 && weltDataBean.weltDistance < 10) { colorList.add(Color.parseColor("#4DFFA4")) - } else if (weltData[i].weltDistance >= 10 && weltData[i].weltDistance < 20) { + } else if (weltDataBean.weltDistance >= 10 && weltDataBean.weltDistance < 20) { colorList.add(Color.parseColor("#FFDD4D")) - } else if (weltData[i].weltDistance >= 20) { + } else if (weltDataBean.weltDistance >= 20) { colorList.add(Color.parseColor("#FF912B")) } } @@ -158,6 +173,7 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { } if (coordinatesLatLngs.size > 2) { //设置线段纹理 + mWeltPolylines?.remove() val polylineOptions = PolylineOptions() polylineOptions.addAll(coordinatesLatLngs) polylineOptions.width(14f) //线段宽度 @@ -166,7 +182,7 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { polylineOptions.colorValues(colorList) polylineOptions.visible(true) // 绘制线 - mPolylines.add(mAMap?.addPolyline(polylineOptions)) + mWeltPolylines = mAMap?.addPolyline(polylineOptions) } } } @@ -191,9 +207,7 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { mLineMarkers[i]?.isVisible = false mLineMarkers[i]?.remove() } - for (i in mPolylines.indices) { - mPolylines[i]?.remove() - } + mWeltPolylines?.remove() mRoutePolylines?.remove() mLineMarkers.clear() //mFirst = false diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/WeltSmallMapView.kt b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/WeltSmallMapView.kt index 17a2c5931d..ff1b71a91c 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/WeltSmallMapView.kt +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/WeltSmallMapView.kt @@ -4,7 +4,6 @@ import android.content.Context import android.graphics.Color import android.os.Bundle import android.util.AttributeSet -import android.util.Log import android.view.LayoutInflater import android.view.View import android.widget.ImageView @@ -17,6 +16,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Liste import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.eagle.core.utilcode.util.CoordinateUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.och.sweeper.R import com.mogo.och.sweeper.bean.SweeperRoutePlanningUpdateReqBean @@ -32,7 +32,7 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { private var mTaskCoordinatesLatLng: MutableList = mutableListOf() //当前大任务的所有起终点集合 private var mCarMarker: Marker? = null private var mAMap: AMap? = null - private var mPolylines: MutableList = mutableListOf() + private var mWeltPolylines: Polyline? = null private var mRoutePolylines: Polyline?=null private val mLineMarkers: MutableList = mutableListOf() @@ -142,6 +142,7 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { } if (coordinatesLatLngs.size > 2) { //设置线段纹理 + mWeltPolylines?.remove() val polylineOptions = PolylineOptions() polylineOptions.addAll(coordinatesLatLngs) polylineOptions.width(30f) //线段宽度 @@ -150,7 +151,7 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { polylineOptions.colorValues(colorList) polylineOptions.visible(true) // 绘制线 - mPolylines.add(mAMap?.addPolyline(polylineOptions)) + mWeltPolylines = mAMap?.addPolyline(polylineOptions) } } } @@ -160,18 +161,33 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { */ private fun getRouteColorList(weltData: MutableList): MutableList { val colorList = mutableListOf() + var nextWeltDataBean:WeltDataBean?=null for (i in weltData.indices) { - if (weltData[i].weltDistance == -9999.0) {//未经过 + val weltDataBean = weltData[i] + if(i+110){ + colorList.add(Color.TRANSPARENT) + continue + } + } + + if (weltDataBean.weltDistance == -9999.0) {//未经过 colorList.add(Color.parseColor("#3BA1CC")) - } else if (weltData[i].weltDistance == -10000.0) {//非贴边 + } else if (weltDataBean.weltDistance == -10000.0) {//非贴边 colorList.add(Color.parseColor("#236299")) - } else if (weltData[i].weltDistance < 0) { + } else if (weltDataBean.weltDistance < 0) { colorList.add(Color.parseColor("#C22101")) - } else if (weltData[i].weltDistance >= 0 && weltData[i].weltDistance < 10) { + } else if (weltDataBean.weltDistance >= 0 && weltDataBean.weltDistance < 10) { colorList.add(Color.parseColor("#4DFFA4")) - } else if (weltData[i].weltDistance >= 10 && weltData[i].weltDistance < 20) { + } else if (weltDataBean.weltDistance >= 10 && weltDataBean.weltDistance < 20) { colorList.add(Color.parseColor("#FFDD4D")) - } else if (weltData[i].weltDistance >= 20) { + } else if (weltDataBean.weltDistance >= 20) { colorList.add(Color.parseColor("#FF912B")) } } @@ -217,9 +233,7 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { mLineMarkers[i]?.isVisible = false mLineMarkers[i]?.remove() } - for (i in mPolylines.indices) { - mPolylines[i]?.remove() - } + mWeltPolylines?.remove() mLineMarkers.clear() mRoutePolylines?.remove() //mFirst = false