diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt index aa247339e8..6bd576c0ab 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt @@ -327,45 +327,49 @@ internal object V2NIdentifyDrawer: IEventDismissListener { V2XBizTrace.onAck(TAG, mapOf("other_retrograde_vehicle" to "event == null"), true) return@Callback true } - val eventLocation = when (event.gnssType) { - 0 -> CoordinateTransform.GCJ02ToWGS84(event.longitude, event.latitude) - else -> arrayOf(event.longitude, event.latitude) - } - val carLocation = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() - val distance = CoordinateUtils.calculateLineDistance(carLocation.longitude, carLocation.latitude, eventLocation[0], eventLocation[1]) - if (distance > 150) { - Logger.i(TAG, "other_retrograde_vehicle --> distance > 150") - V2XBizTrace.onAck(TAG, mapOf("other_retrograde_vehicle" to "distance > 150"), true) - return@Callback true - } - val isDriver = AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) - val newEventId = "other_retrograde_vehicle_${event.eventId}_${event.timestamp}_${event.longitude}_${event.latitude}" - val cameraIp = if(TextUtils.isEmpty(event.exts)) "" - else (GsonUtils.fromJson(event.exts, Map::class.java)["cameraIp"])?:"" - // 弹事件框 - CallerRoadV2NEventWindowListenerManager.showLiveVideo( - newEventId, - event.timestamp, - EventTypeEnumNew.getUpdateIconRes(EventTypeEnumNew.TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType), - String.format(EventTypeEnumNew.getAlarmContent(EventTypeEnumNew.TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType), distance.toInt()), - isDriver, - cameraIp.toString(), - event.longitude, - event.latitude) - // 高精地图绘制-添加 - //TODO - EventDismissManager.addEvent( - TAG, - EventDismissBean( + AiRoadMarker.aiMakers.getOrPut(event.eventId) { + AiRoadMarker() + }.apply { + val eventLocation = when (event.gnssType) { + 0 -> CoordinateTransform.GCJ02ToWGS84(event.longitude, event.latitude) + else -> arrayOf(event.longitude, event.latitude) + } + val carLocation = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() + val distance = CoordinateUtils.calculateLineDistance(carLocation.longitude, carLocation.latitude, eventLocation[0], eventLocation[1]) + if (distance > 150) { + Logger.i(TAG, "other_retrograde_vehicle --> distance > 150") + V2XBizTrace.onAck(TAG, mapOf("other_retrograde_vehicle" to "distance > 150"), true) + return@Callback true + } + val isDriver = AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) + val newEventId = "other_retrograde_vehicle_${event.eventId}_${event.timestamp}_${event.longitude}_${event.latitude}" + val cameraIp = if(TextUtils.isEmpty(event.exts)) "" + else (GsonUtils.fromJson(event.exts, Map::class.java)["cameraIp"])?:"" + // 弹事件框 + CallerRoadV2NEventWindowListenerManager.showLiveVideo( newEventId, + event.timestamp, + EventTypeEnumNew.getUpdateIconRes(EventTypeEnumNew.TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType), + String.format(EventTypeEnumNew.getAlarmContent(EventTypeEnumNew.TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType), distance.toInt()), + isDriver, + cameraIp.toString(), event.longitude, - event.latitude, - 150, - 20, - -1, - event.targetIdsList.joinToString(separator = ",") - ) - ) + event.latitude) + }.also { + it.marker(Marker(event.eventId, EventTypeEnumNew.TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType, event.longitude, event.latitude, 0.0), drawMarker = true, false, isHighFrequency = true) + } +// EventDismissManager.addEvent( +// TAG, +// EventDismissBean( +// newEventId, +// event.longitude, +// event.latitude, +// 150, +// 20, +// -1, +// event.targetIdsList.joinToString(separator = ",") +// ) +// ) } else if (msg.what == MSG_WHAT_DRAW_GREEN_WAVE) { val data = msg.obj as? V2nCrossSpeed ?: return@Callback true val destX = data.lng @@ -601,11 +605,10 @@ internal object V2NIdentifyDrawer: IEventDismissListener { private fun drawOtherRetrogradeVehicle(event: MessagePad.Event) { Logger.i("V2NIdentifyDrawer", "---drawOtherRetrogradeVehicle --- :${event.toString()}, [${FunctionBuildConfig.v2nMainSwitch}, ${FunctionBuildConfig.isNewV2NData}]") -// if (V2NCarTypeCheck.verifyCarType() && FunctionBuildConfig.v2nMainSwitch && FunctionBuildConfig.isNewV2NData) { -// -// } - handler.removeMessages(MSG_WHAT_DRAW_OTHER_RETROGRADE_VEHICLE) - handler.sendMessage(Message.obtain(handler, MSG_WHAT_DRAW_OTHER_RETROGRADE_VEHICLE, event)) + if (V2NCarTypeCheck.verifyCarType() && FunctionBuildConfig.v2nMainSwitch && FunctionBuildConfig.isNewV2NData) { + handler.removeMessages(MSG_WHAT_DRAW_OTHER_RETROGRADE_VEHICLE) + handler.sendMessage(Message.obtain(handler, MSG_WHAT_DRAW_OTHER_RETROGRADE_VEHICLE, event)) + } } private fun drawGreenWave(crossSpeed: V2nCrossSpeed) { @@ -664,19 +667,17 @@ internal object V2NIdentifyDrawer: IEventDismissListener { override fun onEventDismissByDistance(event: EventDismissBean) { Logger.i(TAG, "onEventDismissByDistance --> ${event.toString()}") - if (event.eventId.startsWith("other_retrograde_vehicle")) { - V2XBizTrace.onAck(TAG, mapOf("other_retrograde_vehicle" to "onEventDismissByDistance"), true) - val targetIds = event.exts.split(",") - //TODO 高精地图绘制 移除 - } +// if (event.eventId.startsWith("other_retrograde_vehicle")) { +// V2XBizTrace.onAck(TAG, mapOf("other_retrograde_vehicle" to "onEventDismissByDistance"), true) +// val targetIds = event.exts.split(",") +// } } override fun onEventDismissByExpired(event: EventDismissBean) { Logger.i(TAG, "onEventDismissByExpired --> ${event.toString()}") - if (event.eventId.startsWith("other_retrograde_vehicle")) { - V2XBizTrace.onAck(TAG, mapOf("other_retrograde_vehicle" to "onEventDismissByExpired"), true) - val targetIds = event.exts.split(",") - //TODO 高精地图绘制 移除 - } +// if (event.eventId.startsWith("other_retrograde_vehicle")) { +// V2XBizTrace.onAck(TAG, mapOf("other_retrograde_vehicle" to "onEventDismissByExpired"), true) +// val targetIds = event.exts.split(",") +// } } } \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt index d4505fc70c..89366b3d52 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt @@ -830,6 +830,7 @@ enum class EventTypeEnumNew( } TYPE_SOCKET_ROAD_CONGESTION.poiType -> R.raw.v2x_yongdu TYPE_SOCKET_ROAD_PEOPLE_CROSS.poiType -> if (FunctionBuildConfig.skinMode != 0) TrafficTypeEnum.TYPE_TRAFFIC_ID_PEOPLE.traffic3DIconId else TrafficTypeEnum.TYPE_TRAFFIC_ID_PEOPLE.traffic3DNightIconId + TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType -> if (FunctionBuildConfig.skinMode != 0) TrafficTypeEnum.TYPE_TRAFFIC_ID_TA_CHE.traffic3DIconId else TrafficTypeEnum.TYPE_TRAFFIC_ID_TA_CHE.traffic3DNightIconId else -> 0 } }