From f53b6ed5539592af4f70ec94817265605a6bc054 Mon Sep 17 00:00:00 2001 From: aibingbing Date: Mon, 4 Dec 2023 17:00:29 +0800 Subject: [PATCH] =?UTF-8?q?[=E8=87=AA=E4=B8=BB=E7=AE=97=E8=B7=AF=E9=AA=8C?= =?UTF-8?q?=E8=AF=81]=20feat:=20=E5=A2=9E=E5=8A=A0=20=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E6=97=B6=E8=B5=B7=E7=82=B9=E5=92=8C=E7=BB=88=E7=82=B9=20?= =?UTF-8?q?=E9=AB=98=E7=B2=BE=E5=9C=B0=E5=9B=BEMarker=20;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/taxi/constant/TaxiUnmannedConst.kt | 8 +++ .../taxi/ui/routing/TaxiRoutingFragment.kt | 62 +++++++++++++++++++ 2 files changed, 70 insertions(+) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/constant/TaxiUnmannedConst.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/constant/TaxiUnmannedConst.kt index e759aef583..0e84fffa52 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/constant/TaxiUnmannedConst.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/constant/TaxiUnmannedConst.kt @@ -42,6 +42,12 @@ class TaxiUnmannedConst { //终点UUID const val TAXI_END_MAP_MAKER = "taxi_end_map_maker" + //算路起点UUID + const val TAXI_ROUTING_VERIFY_START_SITE = "taxi_routing_verify_start_site" + + //算路终点UUID + const val TAXI_ROUTING_VERIFY_END_SITE = "taxi_routing_verify_end_site" + //演示:V 测试:内测 const val DEMO_USER = "V" const val TEST_USER = "内测" @@ -78,6 +84,8 @@ class TaxiUnmannedConst { */ const val TYPE_MARKER_TAXI_ORDER = "TYPE_MARKER_TAXI_ORDER" + const val TYPE_MARKER_ROUTING_VERIFY = "TYPE_MARKER_TAXI_ROUTING_VERIFY" + const val TIMER_START_AUTOPILOT_INTERVAL = 20 * 1000L const val TIMER_PREPARE_VIRTUAL_TASK_INTERVAL = 45 * 1000L //45s再次获取任务 diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingFragment.kt index 6b0d2bfccb..e09caa978c 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/routing/TaxiRoutingFragment.kt @@ -17,6 +17,8 @@ import com.mogo.och.common.module.utils.FlowBus import com.mogo.och.taxi.R import com.mogo.och.taxi.bean.EndGrayTaskFeedbackType import com.mogo.och.taxi.constant.TaxiDriverEventConst +import com.mogo.och.taxi.constant.TaxiUnmannedConst +import com.mogo.och.taxi.utils.MapMakerManager import com.mogo.och.taxi.utils.TaskUtils import kotlinx.android.synthetic.main.routing_fragment.btnChooseTask import kotlinx.android.synthetic.main.routing_fragment.btnFinishTask @@ -126,6 +128,8 @@ class TaxiRoutingFragment : BaseFragment(), ICommonNaviChangedCallback { btnChooseTask.visibility = View.VISIBLE btnStartTask.visibility = View.GONE finishSubmitIssueGroup.visibility = View.GONE + + removeAllMapMarker() } private fun showCurrentLineTaskContentView(data: RoutingUIState.RoutingTask) { @@ -156,10 +160,28 @@ class TaxiRoutingFragment : BaseFragment(), ICommonNaviChangedCallback { naviToStart.setOnClickListener { showNaviToEndStationFragment(true) } + setOrRemoveMapMaker( + true, + TaxiUnmannedConst.TAXI_ROUTING_VERIFY_START_SITE, + it.wgs84Lat, + it.wgs84Lon, + R.raw.star_marker + ) + } + + data.grayLineBean?.endSite?.also { + setOrRemoveMapMaker( + false, + TaxiUnmannedConst.TAXI_ROUTING_VERIFY_END_SITE, + it.wgs84Lat, + it.wgs84Lon, + R.raw.end_marker + ) } startStationName.text = data.grayLineBean?.startSite?.siteName endStationName.text = data.grayLineBean?.endSite?.siteName + } private fun showFinishTaskView(routingTask: RoutingUIState.RoutingTask) { @@ -195,6 +217,23 @@ class TaxiRoutingFragment : BaseFragment(), ICommonNaviChangedCallback { naviToEnd.setOnClickListener { showNaviToEndStationFragment(true) } + setOrRemoveMapMaker( + true, + TaxiUnmannedConst.TAXI_ROUTING_VERIFY_END_SITE, + it.wgs84Lat, + it.wgs84Lon, + R.raw.end_marker + ) + } + + routingTask.grayLineBean?.startSite?.also { + setOrRemoveMapMaker( + false, + TaxiUnmannedConst.TAXI_ROUTING_VERIFY_START_SITE, + it.wgs84Lat, + it.wgs84Lon, + R.raw.star_marker + ) } } @@ -313,6 +352,29 @@ class TaxiRoutingFragment : BaseFragment(), ICommonNaviChangedCallback { } } + /** + * 绘制地图起点终点 + * @param isAdd + * @param uuid + */ + private fun setOrRemoveMapMaker( + isAdd: Boolean, + uuid: String, + lat: Double, + lon: Double, + resourceId: Int + ) { + if (isAdd) { + MapMakerManager.addMapMaker(TaxiUnmannedConst.TYPE_MARKER_ROUTING_VERIFY, uuid, lat, lon, resourceId) + } else { + MapMakerManager.removeMapMaker(uuid, lat, lon) + } + } + + private fun removeAllMapMarker() { + MapMakerManager.removeAllMapMarkerByOwner(TaxiUnmannedConst.TYPE_MARKER_ROUTING_VERIFY) + } + override fun onDestroyView() { AmapNaviToDestinationModel.getInstance(context).destroyAmaNavi() super.onDestroyView()