[fea]
[循环线路支持]
This commit is contained in:
yangyakun
2024-09-25 15:51:07 +08:00
parent 41f1b7312c
commit 2d5e2cdc48
6 changed files with 107 additions and 37 deletions

View File

@@ -18,6 +18,7 @@ import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.common.module.biz.login.LoginStatusManager
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.autopilot.location.OchLocationManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
@@ -71,8 +72,8 @@ object OrderModel {
// 加载核销模块
TicketModel.load()
// 定位监听
OchLocationManager.addGCJ02Listener(TAG, 5, mMapLocationListener)
LineManager.addListener(TAG,arriveStationBySearch)
OchTransform.addListener(TAG,ochTransform)
@@ -87,7 +88,7 @@ object OrderModel {
TicketModel.release()
OchLocationManager.removeGCJ02Listener(TAG)
LineManager.removeListener(TAG)
OchTransform.removeListener(TAG)
}
@@ -105,34 +106,17 @@ object OrderModel {
// 自车定位
private val mMapLocationListener = object : IMoGoChassisLocationGCJ02Listener {
override fun onChassisLocationGCJ02(mogoLocation: MogoLocation?) {
if (null == mogoLocation) return
private val arriveStationBySearch = object : ILineCallback {
override fun arrivedStationSuccessBySearch() {
//是否到站的围栏判断 离站状态并且自动驾驶还未触发到站
if (isGoingToNextStation && !isArrivedStation) {
OCHThreadPoolManager.getsInstance().locationExecute {
judgeArrivedStation(mogoLocation)
onArriveAt(null, "兜底:根据定位计算到站")
}
}
}
}
//根据围栏判断,是否到达站点
private fun judgeArrivedStation(location: MogoLocation) {
LineManager.getStations { start, end ->
val startLon = end.gcjLon
val startLat = end.gcjLat
val distance = CoordinateUtils.calculateLineDistance(
startLon, startLat,
location.longitude, location.latitude
)
if (distance <= BusConst.ARRIVE_AT_END_STATION_DISTANCE) {
d(M_BUS + TAG, "行程日志-judgeArrivedStation() distance = $distance to ${end.name}")
onArriveAt(null, "兜底:根据定位计算到站")
}
}
}
/**
* 查询小巴路线