[6.5.0] 修复遮盖问题,修复路口可能提前删除marker问题“

This commit is contained in:
EmArrow
2024-07-10 19:25:41 +08:00
parent 86fcef0531
commit 70f2cdc19b
7 changed files with 41 additions and 17 deletions

View File

@@ -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"

View File

@@ -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" />

View File

@@ -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())

View File

@@ -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)
} }

View File

@@ -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")
} }
} }

View File

@@ -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?) {

View File

@@ -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