[算路]
[距离计算添加自己的算法]
This commit is contained in:
yangyakun
2024-12-03 18:25:48 +08:00
parent 23710c7be9
commit b92f8e69fd
2 changed files with 34 additions and 2 deletions

View File

@@ -13,6 +13,8 @@ import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatus
import com.mogo.och.common.module.manager.autopilot.autopilot.bean.ArrivedStation
import com.mogo.och.common.module.manager.autopilot.line.ILineCallback
import com.mogo.och.common.module.manager.autopilot.line.LineManager
import com.mogo.och.common.module.manager.distance.IDistanceListener
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
import com.mogo.och.common.module.network.OchCommonServiceCallback
import com.mogo.och.unmanned.taxi.bean.ContrailBean
import com.mogo.och.unmanned.taxi.bean.EndGrayContrailTaskReq
@@ -22,14 +24,13 @@ import com.mogo.och.unmanned.taxi.bean.StartGrayAndQueryContrailRsp
import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst
import com.mogo.och.unmanned.taxi.network.TaxiRoutingServiceManager
import com.mogo.och.unmanned.taxi.ui.debug.DebugView
import com.mogo.och.unmanned.taxi.ui.routing.TaxiRoutingModel
/**
* @author XuXinChao
* @description BadCase录包管理页面
* @since: 2022/12/15
*/
class RoutingRunningModel : ViewModel() {
class RoutingRunningModel : ViewModel(), IDistanceListener {
private val TAG = RoutingRunningModel::class.java.simpleName
@@ -79,6 +80,20 @@ class RoutingRunningModel : ViewModel() {
this.viewCallback = viewCallback
}
fun addListener() {
TrajectoryAndDistanceManager.addDistanceListener(TAG,this)
}
fun removeListener() {
TrajectoryAndDistanceManager.removeListener(TAG)
}
override fun distanceCallback(distance: Float) {
val lastTime = distance / TaxiUnmannedConst.TAXI_AVERAGE_SPEED * 3.6 //秒
this.viewCallback?.showDistance(distance.toLong(),lastTime.toLong())
}
fun setNewData(data: StartGrayAndQueryContrailRsp) {
this._data = data
this.currentGrayLineBean = data.grayLineBean
@@ -185,6 +200,9 @@ class RoutingRunningModel : ViewModel() {
fun onArrivedStation(currentGrayId: Long?)
// 距离终点的距离
fun showDistance(distance: Long, lastTime: Long)
}
}

View File

@@ -206,6 +206,16 @@ class RoutingRunningView: ConstraintLayout, RoutingRunningModel.RoutingRuningCal
viewModel?.setDistanceCallback(this)
}
override fun onVisibilityAggregated(isVisible: Boolean) {
super.onVisibilityAggregated(isVisible)
if(isVisible){
viewModel?.addListener()
}else{
viewModel?.removeListener()
}
}
override fun onCurrentNaviDistAndTimeChanged(meters: Int, timeInSecond: Long) {
updateCurrentTaskTripInfo(meters.toLong(), timeInSecond)
}
@@ -287,4 +297,8 @@ class RoutingRunningView: ConstraintLayout, RoutingRunningModel.RoutingRuningCal
}
override fun showDistance(distance: Long, lastTime: Long) {
updateCurrentTaskTripInfo(distance,lastTime)
}
}