[6.5.0] feat: 增加 他车逆行 marker 绘制;
This commit is contained in:
@@ -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(",")
|
||||
// }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user