[6.5.0] 修复遮盖问题,修复路口可能提前删除marker问题“
This commit is contained in:
@@ -148,6 +148,7 @@
|
|||||||
app:layout_constraintTop_toBottomOf="@+id/viewLimitingVelocity"
|
app:layout_constraintTop_toBottomOf="@+id/viewLimitingVelocity"
|
||||||
app:layout_goneMarginEnd="40dp"
|
app:layout_goneMarginEnd="40dp"
|
||||||
app:layout_goneMarginTop="@dimen/dp_236" />
|
app:layout_goneMarginTop="@dimen/dp_236" />
|
||||||
|
|
||||||
<!-- 前方路况探查 -->
|
<!-- 前方路况探查 -->
|
||||||
<com.mogo.eagle.core.function.view.RoadCrossRoamView
|
<com.mogo.eagle.core.function.view.RoadCrossRoamView
|
||||||
android:layout_width="@dimen/dp_600"
|
android:layout_width="@dimen/dp_600"
|
||||||
|
|||||||
@@ -194,9 +194,10 @@
|
|||||||
|
|
||||||
<!-- 前方路况探查 -->
|
<!-- 前方路况探查 -->
|
||||||
<com.mogo.eagle.core.function.view.RoadCrossRoamView
|
<com.mogo.eagle.core.function.view.RoadCrossRoamView
|
||||||
android:layout_width="@dimen/dp_670"
|
android:layout_width="@dimen/dp_660"
|
||||||
android:layout_height="@dimen/dp_790"
|
android:layout_height="@dimen/dp_820"
|
||||||
android:layout_marginTop="@dimen/dp_482"
|
android:layout_marginTop="@dimen/dp_540"
|
||||||
|
android:layout_marginEnd="@dimen/dp_10"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintRight_toRightOf="parent"
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
@@ -227,9 +228,10 @@
|
|||||||
|
|
||||||
<!-- 地图marker点击触发路侧直播 -->
|
<!-- 地图marker点击触发路侧直播 -->
|
||||||
<com.mogo.eagle.core.function.hmi.ui.camera.RoadCrossLiveView
|
<com.mogo.eagle.core.function.hmi.ui.camera.RoadCrossLiveView
|
||||||
android:layout_width="@dimen/dp_650"
|
android:layout_width="@dimen/dp_660"
|
||||||
android:layout_height="@dimen/dp_480"
|
android:layout_height="@dimen/dp_480"
|
||||||
android:layout_marginTop="@dimen/dp_430"
|
android:layout_marginTop="@dimen/dp_400"
|
||||||
|
android:layout_marginEnd="@dimen/dp_10"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintRight_toRightOf="parent"
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|||||||
@@ -134,6 +134,7 @@ class RoadCrossLiveView @JvmOverloads constructor(
|
|||||||
CallerLogger.w("$M_HMI$TAG", "播放视频异常,当前播放设备与上次相同,ip:${info.ip}")
|
CallerLogger.w("$M_HMI$TAG", "播放视频异常,当前播放设备与上次相同,ip:${info.ip}")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
bringToFront()
|
||||||
curLiveDevice = info.ip
|
curLiveDevice = info.ip
|
||||||
ThreadUtils.runOnUiThread {
|
ThreadUtils.runOnUiThread {
|
||||||
HmiActionLog.hmiAction("触发marker点击,播放路侧视频流", info.toString())
|
HmiActionLog.hmiAction("触发marker点击,播放路侧视频流", info.toString())
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import mogo.telematics.pad.MessagePad.TrackedSource
|
|||||||
object TrackerSourceFilterHelper {
|
object TrackerSourceFilterHelper {
|
||||||
|
|
||||||
private const val TAG = "TrackerSourceColor"
|
private const val TAG = "TrackerSourceColor"
|
||||||
|
private const val ZOMBIE_TAG = "zombie"
|
||||||
private val cacheZombieMap = mutableMapOf<String, Point.Options>()
|
private val cacheZombieMap = mutableMapOf<String, Point.Options>()
|
||||||
|
|
||||||
@SuppressLint("NewApi")
|
@SuppressLint("NewApi")
|
||||||
@@ -139,13 +140,13 @@ object TrackerSourceFilterHelper {
|
|||||||
TrafficTypeEnum.TYPE_TRAFFIC_ID_TRUCK.type -> 0.19f
|
TrafficTypeEnum.TYPE_TRAFFIC_ID_TRUCK.type -> 0.19f
|
||||||
else -> 0.2f
|
else -> 0.2f
|
||||||
}
|
}
|
||||||
val opt = Point.Options.Builder(TAG, Level.DEFAULT)
|
val opt = Point.Options.Builder(TAG, Level.MAP_MARKER)
|
||||||
.setId("9999" + data.uuid.toString())
|
.setId("$ZOMBIE_TAG${data.uuid}")
|
||||||
.latitude(data.latitude)
|
.latitude(data.latitude)
|
||||||
.longitude(data.longitude)
|
.longitude(data.longitude)
|
||||||
.isUseGps(true)
|
.isUseGps(true)
|
||||||
.rotate(data.heading.toFloat())
|
.rotate(data.heading.toFloat())
|
||||||
.icon3DRes(R.raw.yujingguangquan)
|
.icon3DRes(R.raw.testguangquan)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.set3DMode(true)
|
.set3DMode(true)
|
||||||
.build()
|
.build()
|
||||||
@@ -154,7 +155,7 @@ object TrackerSourceFilterHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun removeBottomMarker(id: String){
|
fun removeBottomMarker(id: String){
|
||||||
CallerMapUIServiceManager.getOverlayManager()?.removePoint("9999$id")
|
CallerMapUIServiceManager.getOverlayManager()?.removePoint("$ZOMBIE_TAG$id")
|
||||||
cacheZombieMap.remove(id)
|
cacheZombieMap.remove(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -70,6 +70,12 @@ class RoadCrossCameraManager : IMoGoMapRoadListener {
|
|||||||
"$M_MAP$TAG",
|
"$M_MAP$TAG",
|
||||||
"触发接口调用 dis: $distance , roadCrossEnd: ${roadCrossEnd ?: "null"} "
|
"触发接口调用 dis: $distance , roadCrossEnd: ${roadCrossEnd ?: "null"} "
|
||||||
)
|
)
|
||||||
|
if(roadCrossEnd == null){
|
||||||
|
roadCrossTrace(
|
||||||
|
TAG, mapOf("errorMsg" to "触发接口调用,roadCrossEnd获取为null",)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){
|
if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){
|
||||||
AIAssist.getInstance(mContext).speakTTSVoice("蘑菇检测到前方${distance.toInt()}米您将通过路口,已为您切换展示路口全息影像")
|
AIAssist.getInstance(mContext).speakTTSVoice("蘑菇检测到前方${distance.toInt()}米您将通过路口,已为您切换展示路口全息影像")
|
||||||
}
|
}
|
||||||
@@ -155,15 +161,16 @@ class RoadCrossCameraManager : IMoGoMapRoadListener {
|
|||||||
override fun onRoadChange(cross: Boolean, roadCross: RoadCross?) {
|
override fun onRoadChange(cross: Boolean, roadCross: RoadCross?) {
|
||||||
super.onRoadChange(cross, roadCross)
|
super.onRoadChange(cross, roadCross)
|
||||||
// 出路口
|
// 出路口
|
||||||
|
if(!isCameraRequest){
|
||||||
|
CallerLogger.d("$M_MAP$TAG", "未触发路口获取marker")
|
||||||
|
return
|
||||||
|
}
|
||||||
if (!cross) {
|
if (!cross) {
|
||||||
// 停止请求摄像头数据
|
// 停止请求摄像头数据
|
||||||
ndeRoadCameraNetWorkModel.cancelRequest("roadCross")
|
ndeRoadCameraNetWorkModel.cancelRequest("roadCross")
|
||||||
// 清除marker
|
// 清除marker
|
||||||
CallerLogger.d("$M_MAP$TAG", "remove marker")
|
CallerLogger.d("$M_MAP$TAG", "remove marker")
|
||||||
if(handler.hasMessages(REQUEST_CAMERA_MSG)){
|
handler.sendEmptyMessageDelayed(REQUEST_CAMERA_MSG, REMOVE_MARKER_DELAY_TIME)
|
||||||
handler.removeMessages(REQUEST_CAMERA_MSG)
|
|
||||||
handler.sendEmptyMessageDelayed(REQUEST_CAMERA_MSG, REMOVE_MARKER_DELAY_TIME)
|
|
||||||
}
|
|
||||||
// 释放控制
|
// 释放控制
|
||||||
isCameraRequest = false
|
isCameraRequest = false
|
||||||
CallerLogger.d("$M_MAP$TAG", "经过路口,释放控制")
|
CallerLogger.d("$M_MAP$TAG", "经过路口,释放控制")
|
||||||
@@ -191,6 +198,6 @@ class RoadCrossCameraManager : IMoGoMapRoadListener {
|
|||||||
paramIndexes = [0]
|
paramIndexes = [0]
|
||||||
)
|
)
|
||||||
private fun roadCrossTrace(tag: String, paramMap: Any) {
|
private fun roadCrossTrace(tag: String, paramMap: Any) {
|
||||||
|
CallerLogger.d("$M_MAP$tag", "$paramMap")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
import androidx.lifecycle.LifecycleObserver
|
import androidx.lifecycle.LifecycleObserver
|
||||||
|
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant
|
import com.mogo.eagle.core.data.deva.chain.ChainConstant
|
||||||
import com.mogo.eagle.core.function.api.map.road.IMoGoMapRoadListener
|
import com.mogo.eagle.core.function.api.map.road.IMoGoMapRoadListener
|
||||||
import com.mogo.eagle.core.function.api.map.roma.IMoGoAiCloudIdentifyDataListener
|
import com.mogo.eagle.core.function.api.map.roma.IMoGoAiCloudIdentifyDataListener
|
||||||
@@ -12,6 +13,7 @@ import com.mogo.eagle.core.function.business.identify.MapIdentifySubscriber
|
|||||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
|
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
|
||||||
import com.mogo.eagle.core.function.call.map.CallerMapAiCloudDataManager
|
import com.mogo.eagle.core.function.call.map.CallerMapAiCloudDataManager
|
||||||
import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager
|
import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager
|
||||||
|
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_MAP
|
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_MAP
|
||||||
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
||||||
@@ -62,7 +64,13 @@ class MapRoamView(context: Context?, attrs: AttributeSet?) : MogoMapView(context
|
|||||||
@SuppressLint("ObsoleteSdkInt")
|
@SuppressLint("ObsoleteSdkInt")
|
||||||
override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) {
|
override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) {
|
||||||
super.onSizeChanged(w, h, oldw, oldh)
|
super.onSizeChanged(w, h, oldw, oldh)
|
||||||
this.outlineProvider = TextureVideoViewOutlineProvider(12f)
|
var size = 12f
|
||||||
|
if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) {
|
||||||
|
size = 16f
|
||||||
|
} else if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||||
|
size = 12f
|
||||||
|
}
|
||||||
|
this.outlineProvider = TextureVideoViewOutlineProvider(size)
|
||||||
this.clipToOutline = true
|
this.clipToOutline = true
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,13 +92,16 @@ class MapRoamView(context: Context?, attrs: AttributeSet?) : MogoMapView(context
|
|||||||
val dis =
|
val dis =
|
||||||
CoordinateUtils.calculateLineDistance(curLat, curLng, latLng.first, latLng.second)
|
CoordinateUtils.calculateLineDistance(curLat, curLng, latLng.first, latLng.second)
|
||||||
// 开始漫游
|
// 开始漫游
|
||||||
trace(TAG, mapOf("startRoadRoam" to Pair("latLng" to latLng, "dis" to dis), "dis" to dis))
|
trace(
|
||||||
|
TAG,
|
||||||
|
mapOf("startRoadRoam" to Pair("latLng" to latLng, "dis" to dis), "dis" to dis)
|
||||||
|
)
|
||||||
aiCloudIdentifyDataManager.trigger(true, 1, 300, latLng.first, latLng.second)
|
aiCloudIdentifyDataManager.trigger(true, 1, 300, latLng.first, latLng.second)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun response(requestStatus: Boolean, errorMsg: String?) {
|
override fun response(requestStatus: Boolean, errorMsg: String?) {
|
||||||
trace(TAG, mapOf("response" to requestStatus, "errorMsg" to (errorMsg?:"")))
|
trace(TAG, mapOf("response" to requestStatus, "errorMsg" to (errorMsg ?: "")))
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onAiIdentifyData(obj: SocketDownData.SocketDownDataProto?) {
|
override fun onAiIdentifyData(obj: SocketDownData.SocketDownDataProto?) {
|
||||||
|
|||||||
@@ -134,6 +134,7 @@ class RoadCrossRoamView @JvmOverloads constructor(
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
bringToFront()
|
||||||
CallerMapIdentifyManager.roam = Pair(TAG, true)
|
CallerMapIdentifyManager.roam = Pair(TAG, true)
|
||||||
this.visibility = View.VISIBLE
|
this.visibility = View.VISIBLE
|
||||||
ivZhiRoadRoamView.visibility = View.VISIBLE
|
ivZhiRoadRoamView.visibility = View.VISIBLE
|
||||||
|
|||||||
Reference in New Issue
Block a user