[8.1.2][fix]解决路口场景判断的问题
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user