[8.1.2][fix]解决路口场景判断的问题

This commit is contained in:
chenfufeng
2025-07-16 13:55:30 +08:00
parent 91954326e4
commit 0bd1cc7bc9

View File

@@ -191,8 +191,11 @@ class DecisionLayout @JvmOverloads constructor(
@Volatile
private var lastUpdateTime = 0L
@Volatile
private var triggerRoadId = ""
override fun onStopLineInfo(info: StopLine) {
if (info.distance < 15 && !isInCrossRoad) {// 不在路口内且距离停止线小于15m
triggerRoadId = lastRoadId
isCrossScene = true
val time = System.currentTimeMillis()
if (time - lastUpdateTime > 500) {
@@ -215,11 +218,21 @@ class DecisionLayout @JvmOverloads constructor(
}
@Volatile
private var isInCrossRoad = false
private var lastRoadId = ""
override fun onRoadIdInfo(roadId: String) {
lastRoadId = roadId
if (roadId != "0" && triggerRoadId.isNotEmpty() && triggerRoadId != roadId) {
isCrossScene = false
triggerRoadId = ""
}
}
@Volatile
private var isInCrossRoad = false
override fun onRoadChange(cross: Boolean, roadCross: RoadCross?) {
if (isInCrossRoad && !cross) {// 上次在路口内,当前不在路口内,则代表出路口了
isCrossScene = false
triggerRoadId = ""
val time = System.currentTimeMillis()
if (time - lastUpdateTime > 500) {
lastUpdateTime = time