[6.2.0][视角切换] 视角切换添加获取或设置默认视角接口

This commit is contained in:
renwj
2023-11-17 19:09:41 +08:00
parent 679fe07181
commit 090cc247b5
13 changed files with 108 additions and 58 deletions

View File

@@ -9,6 +9,9 @@ import androidx.lifecycle.Lifecycle.Event.ON_DESTROY
import com.alibaba.android.arouter.facade.annotation.Route
import com.mogo.eagle.core.data.constants.MogoServicePaths
import com.mogo.eagle.core.data.map.*
import com.mogo.eagle.core.function.angle.scenes.CrossRoad
import com.mogo.eagle.core.function.angle.scenes.Default
import com.mogo.eagle.core.function.angle.scenes.RoadEvent
import com.mogo.eagle.core.function.api.map.angle.*
import com.mogo.eagle.core.function.api.map.angle.Scene
import com.mogo.eagle.core.function.call.autopilot.*

View File

@@ -0,0 +1,21 @@
package com.mogo.eagle.core.function.angle.scenes
import com.mogo.eagle.core.function.api.map.angle.Scene
import com.mogo.map.uicontroller.VisualAngleMode
import com.mogo.map.uicontroller.VisualAngleMode.MAP_STYLE_VR_ANGLE_CROSS
/**
* 十字路口
*/
class CrossRoad(var open: Boolean = false): Scene {
override val angle: VisualAngleMode
get() = MAP_STYLE_VR_ANGLE_CROSS
override val priority: Int = 4
override val displayThreshold: Long
get() = -1
override fun toString(): String {
return "CrossRoad(open: ${open}, priority=${priority}, displayThreshold: ${displayThreshold}, priority=${priority})"
}
}

View File

@@ -0,0 +1,27 @@
package com.mogo.eagle.core.function.angle.scenes
import com.mogo.eagle.core.function.api.map.angle.Scene
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
import com.mogo.map.uicontroller.VisualAngleMode
import com.mogo.map.uicontroller.VisualAngleMode.MODE_MEDIUM_SIGHT
import java.util.concurrent.TimeUnit
/**
* 默认视图
* @param delay: 表示多少稍后默认值为2
* @param unit: 时间单位,默认为秒
*/
class Default(val delay: Long = 2, val unit: TimeUnit = TimeUnit.SECONDS): Scene {
override val angle: VisualAngleMode
get() = CallerMapUIServiceManager.getMapUIController()?.getVrAngleDefaultMode() ?: MODE_MEDIUM_SIGHT
override val priority: Int = 1
override val displayThreshold: Long
get() = 0
override fun toString(): String {
return "Default(delay=$delay, unit=$unit, angle=$angle, priority=$priority)"
}
}

View File

@@ -0,0 +1,22 @@
package com.mogo.eagle.core.function.angle.scenes
import com.mogo.eagle.core.function.api.map.angle.Scene
import com.mogo.map.uicontroller.VisualAngleMode
import java.util.concurrent.TimeUnit
/**
* 道路事件
*/
class RoadEvent(val poi_lon: Double, val poi_lat: Double, val poi_angle: Double, val isGps: Boolean = true): Scene {
override val angle: VisualAngleMode = VisualAngleMode.MODE_LONG_SIGHT
override val priority: Int = 5
override val displayThreshold: Long
get() = TimeUnit.SECONDS.toMillis(8)
override fun toString(): String {
return "RoadEvent(priority=${priority}, displayThreshold: ${displayThreshold}, priority=${priority}, lon: $poi_lon, lat: $poi_lat, angle: $poi_angle)"
}
}