[自主算路验证] feat: 增加 验证时起点和终点 高精地图Marker ;

This commit is contained in:
aibingbing
2023-12-04 17:00:29 +08:00
parent 04e7e20c37
commit f53b6ed553
2 changed files with 70 additions and 0 deletions

View File

@@ -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再次获取任务

View File

@@ -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()