[6.5.0][道路事件][视角切换] 逻辑优化

This commit is contained in:
renwj
2024-07-17 14:34:10 +08:00
parent 1177b7c018
commit 58a15194d3

View File

@@ -17,7 +17,6 @@ import com.mogo.eagle.core.function.api.map.road.IMoGoMapRoadListener
import com.mogo.eagle.core.function.call.autopilot.*
import com.mogo.eagle.core.function.call.map.*
import com.mogo.eagle.core.utilcode.kotlin.*
import com.mogo.map.MapDataWrapper
import com.zhidaoauto.map.data.road.RoadCross
import com.zhidaoauto.map.data.road.StopLine
import com.zhidaoauto.map.sdk.open.common.tools.MapTools
@@ -61,7 +60,7 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider {
var triggerClose = false
var distance = distanceOfCarToStopLine.get()
if (hasCrossRoad && distance > 0) {
distance += 3.0
distance += 5.0
val prev = triggerLocation.get()
if (prev != null) {
travelled.set(MapTools.distance(loc.longitude, loc.latitude, prev.longitude, prev.latitude) + travelled.get())
@@ -70,22 +69,25 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider {
val oldRoadId = triggerRoadId.get()
Log.d(TAG, "-- onRoadIdInfo --: travelled --: ${travelled.get()}")
if ((travelled.get() > distance)) {
Log.d(TAG, "-- onRoadIdInfo --: cross --: $inCrossRoad")
if (inCrossRoad) {
triggerClose = true
val inCross = inCrossRoad
Log.d(TAG, "-- onRoadIdInfo --: cross --: $inCross")
if (inCross) {
return
}
if (!triggerClose && roadId != "0" && oldRoadId != null && oldRoadId != roadId) {
if (roadId != "0" && oldRoadId != null && oldRoadId != roadId) {
triggerClose = true
}
if (triggerClose) {
Log.d(TAG, "-- onRoadIdInfo --: trigger close --")
distanceOfCarToStopLine.set(0.0)
hasCrossRoad = false
triggerRoadId.set(null)
travelled.set(0.0)
triggerLocation.set(null)
inCrossRoad = false
changeScene(Default())
try {
Log.d(TAG, "-- onRoadIdInfo --: trigger close --")
distanceOfCarToStopLine.set(0.0)
hasCrossRoad = false
triggerRoadId.set(null)
travelled.set(0.0)
triggerLocation.set(null)
} finally {
changeScene(Default())
}
}
}
}