diff --git a/config.gradle b/config.gradle index 1aa39b527b..d4ec3c05d0 100644 --- a/config.gradle +++ b/config.gradle @@ -97,7 +97,7 @@ ext { // obu sdk obusdk : "com.zhidao.enterprise.smartv2x:smartv2x:1.0.0.3", mogoobuold : 'com.zhidao.support.obu:mogoobu:1.0.0.33', - mogoobu : 'com.mogo.support.obu:mogo-obu:1.0.1', + mogoobu : 'com.mogo.support.obu:mogo-obu:1.0.3', mogoami : 'com.zhidao.support.obu.ami:mogoami:1.0.0.24', // google diff --git a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuNewManager.kt b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuNewManager.kt index c369574d37..a9b18eeccc 100644 --- a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuNewManager.kt +++ b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuNewManager.kt @@ -237,76 +237,133 @@ class MogoPrivateObuNewManager private constructor() { "$M_OBU${MogoObuConst.TAG_MOGO_OBU}", "onMogoObuRsiWarning ------> $data" ) - if (data != null && data.warning_Msg != null && data.warning_Msg.size > 0) { + if (data != null && data.warningMsg != null && data.warningMsg.size > 0) { var alertContent = "" var ttsContent = "" - var appId = data.warning_Msg[0].sceneType.toString() + var appId = data.warningMsg[0].sceneType.toString() val status = data.status - val level = data.warning_Msg[0].warningLevel - val direction = getMessageDirection(data.warning_Msg[0].targetPosition) + val level = data.warningMsg[0].warningLevel + val direction = getMessageDirection(data.warningMsg[0].targetPosition) CallerLogger.d( "$M_OBU${MogoObuConst.TAG_MOGO_OBU}", - "onCvxRtiThreatIndInfo appId = $appId --status = $status --level = $level -- eventSerialNum = ${data.warning_Msg[0].eventSerialNum} -- direction = $direction -- targetPosition = ${data.warning_Msg[0].targetPosition}" + "onCvxRtiThreatIndInfo appId = $appId --status = $status --level = $level -- eventSerialNum = ${data.warningMsg[0].eventSerialNum} -- direction = $direction -- targetPosition = ${data.warningMsg[0].targetPosition}" ) when (appId) { // 道路危险情况预警 V2iEventTypeEnum.TYPE_USECASE_ID_HLW.poiType -> { - when (data.warning_Msg[0].eventSerialNum) { - MogoObuConstants.RTE.RTI_TYPE_RETRIGRADE -> { //车辆逆行 - appId = - V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.poiType - } - MogoObuConstants.RTE.RTI_TYPE_SPEEDING -> { //超速行驶 - appId = V2iEventTypeEnum.TYPE_USECASE_ID_SLW.poiType - } + when (data.warningMsg[0].eventSerialNum) { MogoObuConstants.RTE.RTI_TYPE_BREAKDOWN -> {//车辆故障 appId = V2iEventTypeEnum.TYPE_USECASE_ID_BREAKDOWN_WARNING.poiType } - MogoObuConstants.RTE.RTI_TYPE_CONSTRUCTION_RTE -> { //施工占道 - appId = V2iEventTypeEnum.FOURS_ROAD_WORK.poiType - } - MogoObuConstants.RTE.RTI_TYPE_PARKING_VIOLATION -> { //异常停车 - appId = V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_PARKING.poiType - } MogoObuConstants.RTE.RTI_TYPE_ROAD_WATER -> { //道路积水 appId = V2iEventTypeEnum.FOURS_PONDING.poiType } + MogoObuConstants.RTE.RTI_TYPE_PARKING_VIOLATION -> { //异常停车 + appId = V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_PARKING.poiType + } +// MogoObuConstants.RTE.RTI_TYPE_CONSTRUCTION_RTE -> { //施工占道 TODO +// appId = V2iEventTypeEnum.FOURS_ROAD_WORK.poiType +// } + MogoObuConstants.RTE.RTI_TYPE_TJW -> { // 拥堵 + appId = V2iEventTypeEnum.TYPE_USECASE_ID_TJW.poiType + } + MogoObuConstants.RTE.RTI_TYPE_SPEEDING -> { //超速行驶 + appId = V2iEventTypeEnum.TYPE_USECASE_ID_SLW.poiType + } + MogoObuConstants.RTE.RTI_TYPE_RETRIGRADE -> { //车辆逆行 + appId = V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.poiType + } } - alertContent = V2iEventTypeEnum.getWarningContent(appId) - ttsContent = V2iEventTypeEnum.getWarningTts(appId) + } - V2iEventTypeEnum.TYPE_USECASE_ID_IVS.poiType -> { //车内标牌 - when (data.warning_Msg[0].eventSerialNum) { + //车内标牌 + V2iEventTypeEnum.TYPE_USECASE_ID_IVS.poiType -> { + when (data.warningMsg[0].eventSerialNum) { + MogoObuConstants.RTS.RTI_TYPE_INTERSECTION -> { //十字路口 + appId = V2iEventTypeEnum.TYPE_ID_NTERSECTION.poiType + } + MogoObuConstants.RTS.RTI_TYPE_SHAPR_TURNS -> { //急转弯 + appId = V2iEventTypeEnum.TYPE_ID_SHAPR_TURNS.poiType + } + MogoObuConstants.RTS.RTI_TYPE_BRIDGE -> { //桥梁 + appId = V2iEventTypeEnum.TYPE_ID_BRIDGE.poiType + } + MogoObuConstants.RTS.RTI_TYPE_PEDESTRIAN -> { //行人 + appId = V2iEventTypeEnum.TYPE_ID_PEDESTRIAN.poiType + } + MogoObuConstants.RTS.RTI_TYPE_SLIPPERY_ROAD -> { //路滑 + appId = V2iEventTypeEnum.TYPE_ID_SLIPPERY_ROAD.poiType + } + MogoObuConstants.RTS.RTI_TYPE_TUNNEL -> { //隧道 + appId = V2iEventTypeEnum.TYPE_ID_TUNNEL.poiType + } + MogoObuConstants.RTS.RTI_TYPE_FERRY -> { //渡轮 + appId = V2iEventTypeEnum.TYPE_ID_FERRY.poiType + } + MogoObuConstants.RTS.RTI_TYPE_UNEVEN_ROAD -> { //路面不平 + appId = V2iEventTypeEnum.TYPE_ID_UNEVEN_ROAD.poiType + } + MogoObuConstants.RTS.RTI_TYPE_NON_MOTOR_VEHICLE -> { //非机动车 + appId = V2iEventTypeEnum.TYPE_ID_NON_MOTOR_VEHICLE.poiType + } + MogoObuConstants.RTS.RTI_TYPE_OBSTACLE -> { //障碍 + appId = V2iEventTypeEnum.TYPE_ID_OBSTACLE.poiType + } + MogoObuConstants.RTS.RTI_TYPE_CONSTRUCTION -> { //施工 + appId = V2iEventTypeEnum.TYPE_FOURS_ROAD_WORK.poiType + } + MogoObuConstants.RTS.RTI_TYPE_VEHICLE_QUEUE -> { //车队 + appId = V2iEventTypeEnum.TYPE_VEHICLE_QUEUE.poiType + } + MogoObuConstants.RTS.RTI_TYPE_NO_PASSING -> { //不通 + appId = V2iEventTypeEnum.TYPE_NO_PASSING.poiType + } + MogoObuConstants.RTS.RTI_TYPE_NO_TURNING_AROUND -> { //禁止掉头 + appId = V2iEventTypeEnum.TYPE_NO_TURNING_AROUND.poiType + } + MogoObuConstants.RTS.RTI_TYPE_NO_STOPPING -> { //禁止停车 + appId = V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_NO_PARKING.poiType + } + MogoObuConstants.RTS.RTI_TYPE_NO_TOOTING -> { //禁止鸣笛 + appId = V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_NO_TOOTING.poiType + } + MogoObuConstants.RTS.RTI_TYPE_SPEED_LIMIT -> { //限速 + appId = V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_SPEED_LIMIT.poiType + } + MogoObuConstants.RTS.RTI_TYPE_GO_STRAIGHT_TURN_RIGHT -> { //直行或右转 + appId = V2iEventTypeEnum.TYPE_USECASE_ID_GO_STRAIGHT_TURN_RIGHT.poiType + } + MogoObuConstants.RTS.RTI_TYPE_BUS_WARNING -> { //公交提醒 + appId = V2iEventTypeEnum.TYPE_USECASE_ID_BUS_WARNING.poiType + } + MogoObuConstants.RTS.RTI_TYPE_NARROW_RIGHT -> { //右侧变窄/车道数减少 + appId = V2iEventTypeEnum.TYPE_USECASE_ID_NARROW_RIGHT.poiType + } + MogoObuConstants.RTS.RTI_TYPE_GAS_STATION -> { //加油站 + appId = V2iEventTypeEnum.TYPE_USECASE_ID_GAS_STATION.poiType + } MogoObuConstants.RTS.RTI_TYPE_SCHOOL -> { //学校 - appId = - V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType + appId = V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType } - } - alertContent = V2iEventTypeEnum.getWarningContent(appId) - ttsContent = V2iEventTypeEnum.getWarningTts(appId) - } - - // 前方拥堵提醒 TODO - V2iEventTypeEnum.TYPE_USECASE_ID_TJW.poiType -> { - ttsContent = V2iEventTypeEnum.getWarningTts(appId) - alertContent = if (data.warning_Msg[0].distance.toInt() != 0) { - String.format( - V2iEventTypeEnum.getWarningContent(appId), - data.warning_Msg[0].distance.toInt() - ) - } else { - "前方拥堵,减速慢行" + MogoObuConstants.RTS.RTI_TYPE_ACCIDENT -> { //事故 + appId = V2iEventTypeEnum.TYPE_USECASE_ID_ACCIDENT.poiType + } } } //限速预警 TODO 参考之前的 - } + alertContent = V2iEventTypeEnum.getWarningContent(appId) + ttsContent = V2iEventTypeEnum.getWarningTts(appId) + + alertContent = String.format(alertContent, data.warningMsg[0].distance.toString(), data.warningMsg[0].eventRadius.toString()) + ttsContent = String.format(ttsContent, data.warningMsg[0].distance.toString(), data.warningMsg[0].eventRadius.toString()) + CallerLogger.d( "$M_OBU${MogoObuConst.TAG_MOGO_OBU}", "ttsContent = $ttsContent --alertContent = $alertContent --appId = $appId ---direction = ${direction.direction} " @@ -319,7 +376,7 @@ class MogoPrivateObuNewManager private constructor() { -> { //显示警告红边 // CallerHmiManager.showWarning(direction) - //显示弹框,语音提示 + //显示弹框,语音提示,数据在消息盒子里面展示,此处不在处理弹框 CallerHmiManager.showWarningV2X( appId, alertContent, @@ -342,9 +399,9 @@ class MogoPrivateObuNewManager private constructor() { // 删除 MogoObuConstants.STATUS.DELETE -> { // 关闭警告红边 - CallerHmiManager.showWarning(WarningDirectionEnum.ALERT_WARNING_NON) +// CallerHmiManager.showWarning(WarningDirectionEnum.ALERT_WARNING_NON) // 移除顶部弹窗 - CallerHmiManager.disableWarningV2X((appId + direction.direction)) +// CallerHmiManager.disableWarningV2X((appId + direction.direction)) // 更新数据 TrafficDataConvertUtilsNew.cvxRtiThreatIndInfo2TrafficData(data)?.let { // 事件结束,还原车辆颜色 @@ -382,8 +439,8 @@ class MogoPrivateObuNewManager private constructor() { val alertContent = EventTypeEnumNew.getWarningContent(v2xType) var level = -1 val direction = getMessageDirection(data.participant.targetPosition) - if (data.m_warning_msg != null && data.m_warning_msg.warningData != null && data.m_warning_msg.warningData.size > 0) { - level = data.m_warning_msg.warningData[0].warningLevel + if (data.warningMsg != null && data.warningMsg.warningData != null && data.warningMsg.warningData.size > 0) { + level = data.warningMsg.warningData[0].warningLevel } when (data.status) { diff --git a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/utils/TrafficDataConvertUtilsNew.kt b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/utils/TrafficDataConvertUtilsNew.kt index daeb89c890..32d49b96dc 100644 --- a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/utils/TrafficDataConvertUtilsNew.kt +++ b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/utils/TrafficDataConvertUtilsNew.kt @@ -19,11 +19,10 @@ object TrafficDataConvertUtilsNew { val TAG = "TrafficDataConvertUtilsNew" /** - * OBU 远车 转换交通元素数据,是否需要 TODO + * OBU 远车 转换交通元素数据,是否需要 */ fun cvxRvInfoIndInfo2TrafficData(info: MogoObuRvWarningData): TrafficData? { if (info.vehBasicsMsg == null) { - Log.e("liyz", "cvxRvInfoIndInfo2TrafficData info.vehBasicsMsg == null ") CallerLogger.e("$M_OBU$TAG", "cvxRvInfoIndInfo2TrafficData 数据转换异常,请检查参数是否齐全") return null } @@ -42,18 +41,16 @@ object TrafficDataConvertUtilsNew { * OBU RSU道路事件预警信息 转换交通元素数据 标牌 为何要显示level */ fun cvxRtiThreatIndInfo2TrafficData(info: MogoObuRsiWarningData): TrafficData? { - if (info.warning_Msg == null || info.warning_Msg.size < 1 || info.warning_Msg[0].position == null) { + if (info.warningMsg == null || info.warningMsg.size < 1 || info.warningMsg[0].position == null) { CallerLogger.e("$M_OBU$TAG", "数据转换异常,请检查参数是否齐全") - Log.e("liyz", "cvxRtiThreatIndInfo2TrafficData info.warning_Msg == null ") return null } val trafficData = TrafficData() trafficData.type = TrafficTypeEnum.TYPE_TRAFFIC_ID_DAO_LU_SHI_GONG - trafficData.uuid = info.warning_Msg[0].signSerialNum.toString() - trafficData.lat = info.warning_Msg[0].position.latitude - trafficData.lon = info.warning_Msg[0].position.longitude - trafficData.threatLevel = info.warning_Msg[0].warningLevel - Log.e("liyz", "cvxRtiThreatIndInfo2TrafficData trafficData -- ${trafficData.toString()}") + trafficData.uuid = info.warningMsg[0].signSerialNum.toString() + trafficData.lat = info.warningMsg[0].position.latitude + trafficData.lon = info.warningMsg[0].position.longitude + trafficData.threatLevel = info.warningMsg[0].warningLevel return trafficData } @@ -63,7 +60,6 @@ object TrafficDataConvertUtilsNew { fun cvxV2vThreatIndInfo2TrafficData(info: MogoObuRvWarningData): TrafficData? { if (info == null || info.vehBasicsMsg == null || info.warningMsg == null) { CallerLogger.e("$M_OBU$TAG", "数据转换异常,请检查参数是否齐全") - Log.e("liyz", "cvxV2vThreatIndInfo2TrafficData info == null ") return null } val trafficData = TrafficData() @@ -80,8 +76,6 @@ object TrafficDataConvertUtilsNew { } trafficData.type = TrafficTypeEnum.TYPE_TRAFFIC_ID_TA_CHE - Log.e("liyz", "cvxV2vThreatIndInfo2TrafficData trafficData = ${trafficData.toString()} ") - return trafficData } @@ -91,7 +85,6 @@ object TrafficDataConvertUtilsNew { fun cvxPtcThreatIndInfo2TrafficData(info: MogoObuRsmWarningData): TrafficData? { if (info.participant == null) { CallerLogger.e("$M_OBU$TAG", "数据转换异常,请检查参数是否齐全") - Log.e("liyz", "cvxPtcThreatIndInfo2TrafficData info.participant ") return null } val trafficData = TrafficData() @@ -131,12 +124,11 @@ object TrafficDataConvertUtilsNew { val ptcType = 0 // 判断车辆V2X预警级别,调整车辆颜色 - if (info.m_warning_msg != null && info.m_warning_msg.warningData != null) { - trafficData.threatLevel = info.m_warning_msg.warningData[0].warningLevel + if (info.warningMsg != null && info.warningMsg.warningData != null) { + trafficData.threatLevel = info.warningMsg.warningData[0].warningLevel } else { trafficData.threatLevel = 1 } - Log.e("liyz", "cvxPtcThreatIndInfo2TrafficData trafficData = ${trafficData.toString()} ") return trafficData } diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/V2iEventTypeEnum.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/V2iEventTypeEnum.kt index 9fdb68174e..c457bfc473 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/V2iEventTypeEnum.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/V2iEventTypeEnum.kt @@ -12,18 +12,217 @@ enum class V2iEventTypeEnum( val content: String = "", val tts: String = "" ) { - //施工 - FOURS_ROAD_WORK( - "10006", "注意施工占道", "注意施工占道", R.drawable.icon_warning_v2x_road_construction, - "注意施工占道", "注意施工占道" + //-----------道路危险情况预警 start ---------------> + TYPE_USECASE_ID_BREAKDOWN_WARNING( //故障车辆 + 101.toString(), + "车辆故障", + poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, + content = "前方%s米有故障车辆,影响路段%s米", + tts = "前方%s米有故障车辆,影响路段%s米" + ), + FOURS_PONDING( //积水 + 407.toString(), + "道路积水", + poiTypeSrcVr = R.drawable.v2x_icon_jishui_vr, + content = "前方%s米道路积水,影响路段%s米", + tts ="前方%s米道路积水,影响路段%s米" + ), + TYPE_USECASE_ID_ROAD_PARKING( //异常停车 + 412.toString(), + "异常停车", + poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking, + content = "前方%s米异常停车,影响路段%s米", + tts = "前方%s米异常停车,影响路段%s米" + ), + TYPE_USECASE_ID_TJW( //%d + 707.toString(), + "拥堵", + poiTypeSrcVr = R.drawable.icon_warning_v2x_congestion, + content = "前方%s米拥堵,影响路段%s米", + tts = "前方%s米拥堵,影响路段%s米" + ), + TYPE_USECASE_ID_SLW( //超速行驶 + 901.toString(), + "超速行驶", + poiTypeSrcVr = R.drawable.icon_warning_v2x_over_speed, + content = "前方%s米超速行驶,影响路段%s米", + tts = "前方%s米超速行驶,影响路段%s米" + ), + TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE( //车辆逆行 + 904.toString(), + "逆行车辆", + poiTypeSrcVr = R.drawable.icon_warning_v2x_school, + content = "前方%s米逆行车辆,影响路段%s米", + tts = "前方%s米逆行车辆,影响路段%s米" + ), + //------------道路危险情况预警 end -----------> + + //------------车内标牌 start --------------> + TYPE_ID_NTERSECTION( + 1.toString(), + "十字路口", + poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar, + content = "前方%s米十字路口,影响路段%s米", + tts = "前方%s米十字路口,影响路段%s米" + ), + TYPE_ID_SHAPR_TURNS( + 2.toString(), + "急转弯", + poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar, + content = "前方%s米急转弯,影响路段%s米", + tts = "前方%s米急转弯,影响路段%s米" + ), + TYPE_ID_BRIDGE( + 8.toString(), + "桥梁", + poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar, + content = "前方%s米桥梁,影响路段%s米", + tts = "前方%s米桥梁,影响路段%s米" + ), + TYPE_ID_PEDESTRIAN( + 10.toString(), + "行人", + poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar, + content = "前方%s米行人,影响路段%s米", + tts = "前方%s米行人,影响路段%s米" + ), + TYPE_ID_SLIPPERY_ROAD( + 17.toString(), + "路滑", + poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar, + content = "前方%s米路滑,影响路段%s米", + tts = "前方%s米路滑,影响路段%s米" + ), + TYPE_ID_TUNNEL( + 21.toString(), + "隧道", + poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar, + content = "前方%s米隧道,影响路段%s米", + tts = "前方%s米隧道,影响路段%s米" + ), + TYPE_ID_FERRY( + 22.toString(), + "渡轮", + poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar, + content = "前方%s米渡轮,影响路段%s米", + tts = "前方%s米渡轮,影响路段%s米" + ), + TYPE_ID_UNEVEN_ROAD( + 24.toString(), + "路面不平", + poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar, + content = "前方%s米路面不平,影响路段%s米", + tts = "前方%s米路面不平,影响路段%s米" + ), + TYPE_ID_NON_MOTOR_VEHICLE( + 32.toString(), + "非机动车", + poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar, + content = "前方%s米有非机动车,影响路段%s米", + tts = "前方%s米有非机动车,影响路段%s米" + ), + TYPE_ID_OBSTACLE( + 36.toString(), + "障碍", + poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar, + content = "前方%s米障碍,影响路段%s米", + tts = "前方%s米障碍,影响路段%s米" + ), + TYPE_FOURS_ROAD_WORK( + 38.toString(), + "施工", + poiTypeSrcVr = R.drawable.icon_warning_v2x_road_construction, + content = "前方%s米施工,影响路段%s米", + tts = "前方%s米施工,影响路段%s米" + ), + TYPE_VEHICLE_QUEUE( + 47.toString(), + "车队", + poiTypeSrcVr = R.drawable.icon_warning_v2x_road_construction, + content = "前方%s米车队,影响路段%s米", + tts = "前方%s米车队,影响路段%s米" + ), + TYPE_NO_PASSING( + 51.toString(), + "不通", + poiTypeSrcVr = R.drawable.icon_warning_v2x_road_construction, + content = "前方%s米不通,影响路段%s米", + tts = "前方%s米不通,影响路段%s米" + ), + TYPE_NO_TURNING_AROUND( + 75.toString(), + "禁止掉头", + poiTypeSrcVr = R.drawable.icon_warning_v2x_road_construction, + content = "前方%s米禁止掉头,影响路段%s米", + tts = "前方%s米禁止掉头,影响路段%s米" + ), + TYPE_USECASE_ID_ROAD_NO_PARKING( + 78.toString(), + "禁止停车", + poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking, + content = "前方%s米禁止停车,影响路段%s米", + tts = "前方%s米禁止停车,影响路段%s米" + ), + TYPE_USECASE_ID_ROAD_NO_TOOTING( + 80.toString(), + "禁止鸣笛", + poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking, + content = "前方%s米禁止鸣笛,影响路段%s米", + tts = "前方%s米禁止鸣笛,影响路段%s米" + ), + TYPE_USECASE_ID_ROAD_SPEED_LIMIT( + 85.toString(), + "限速", + poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking, + content = "前方%s米限速,影响路段%s米", + tts = "前方%s米限速,影响路段%s米" + ), + TYPE_USECASE_ID_GO_STRAIGHT_TURN_RIGHT( + 100.toString(), + "直行或右转", + poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking, + content = "前方%s米直行或右转,影响路段%s米", + tts = "前方%s米直行或右转,影响路段%s米" + ), + TYPE_USECASE_ID_BUS_WARNING( + 123.toString(), + "公交提醒", + poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking, + content = "前方%s米公交提醒,影响路段%s米", + tts = "前方%s米公交提醒,影响路段%s米" + ), + TYPE_USECASE_ID_NARROW_RIGHT( + 163.toString(), + "右侧变窄/车道数减少", + poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking, + content = "前方%s米右侧变窄/车道数减少,影响路段%s米", + tts = "前方%s米右侧变窄/车道数减少,影响路段%s米" + ), + TYPE_USECASE_ID_GAS_STATION( + 201.toString(), + "加油站", + poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking, + content = "前方%s米加油站,影响路段%s米", + tts = "前方%s米加油站,影响路段%s米" + ), + TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL( + 242.toString(), + "学校", + poiTypeSrcVr = R.drawable.icon_warning_v2x_school, + content = "前方%s米学校,影响路段%s米", + tts = "前方%s米学校,影响路段%s米" ), - //积水 - FOURS_PONDING( - "10008", "道路积水", "前方道路积水", R.drawable.v2x_icon_jishui_vr, - "前方道路积水", "道路积水" + TYPE_USECASE_ID_ACCIDENT( + 244.toString(), + "事故", + poiTypeSrcVr = R.drawable.icon_warning_v2x_school, + content = "前方%s米事故,影响路段%s米", + tts = "前方%s米事故,影响路段%s米" ), + //------------车内标牌 end --------------> + TYPE_USECASE_ID_IVS( 0x2B07.toString(), "车内标牌", @@ -31,29 +230,13 @@ enum class V2iEventTypeEnum( content = "车内标牌", tts = "" ), - TYPE_USECASE_ID_TJW( - 0x2B08.toString(), - "前方拥堵提醒", - poiTypeSrcVr = R.drawable.icon_warning_v2x_congestion, - content = "前方%d米道路拥堵", - tts = "前方拥堵,减速慢行" - ), - - //TODO 不能使用之前obu的定义 ObuConstants.USE_CASE_ID.HLW.toString(), - TYPE_USECASE_OPTIMAL_LANE( - "111", - "最优车道", - poiTypeSrcVr = R.drawable.v2x_icon_live_logo, - content = "最优车道", - tts = "最优车道" - ), TYPE_USECASE_ID_HLW( 0x2B04.toString(), - "道路危险情况预警", - poiTypeSrcVr = R.drawable.icon_warning_v2x_road_dangerous, - content = "道路危险情况预警", - tts = "前方路况危险,小心行驶" + "道路危险情况预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_road_dangerous, + content = "道路危险情况预警", + tts = "前方路况危险,小心行驶" ),//(如果能给出具体的类别,则播报具体危险类别) TYPE_USECASE_ID_IVP( @@ -71,47 +254,6 @@ enum class V2iEventTypeEnum( tts = "建议车速 %s KM/H" ), - //6种智行杯的场景需添加 - TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE( - 904.toString(), - "注意逆行车辆", - poiTypeSrcVr = R.drawable.icon_warning_v2x_school, - content = "注意逆行车辆", - tts = "注意逆行车辆" - ), - - TYPE_USECASE_ID_SLW( - 901.toString(), - "注意超速车辆", - poiTypeSrcVr = R.drawable.icon_warning_v2x_over_speed, - content = "注意超速车辆", - tts = "注意超速车辆" - ), - - TYPE_USECASE_ID_BREAKDOWN_WARNING( - 101.toString(), - "注意故障车辆", - poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, - content = "注意故障车辆", - tts = "注意故障车辆" - ), - - TYPE_USECASE_ID_ROAD_PARKING( - 412.toString(), - "注意异常停车", - poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking, - content = "注意异常停车", - tts = "注意异常停车" - ), - - TYPE_USECASE_ID_ROAD_TRAMCAR( - 0x2C01.toString(), - "前方有轨电车提醒", - poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar, - content = "注意前方有轨电车", - tts = "注意前方有轨电车驶过" - ), - TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING( 0x2C04.toString(), "人行横道", @@ -119,48 +261,6 @@ enum class V2iEventTypeEnum( content = "注意前方人行横道", tts = "前方人行横道,减速慢行" ), - TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL( - 0x2C05.toString(), - "学校", - poiTypeSrcVr = R.drawable.icon_warning_v2x_school, - content = "注意前方学校", - tts = "前方学校,减速慢行" - ), - TYPE_USECASE_ID_ROAD_COLLISION_WARNING( - 0x2C06.toString(), - "事故易发路段", - poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, - content = "注意当前路段事故多发", - tts = "当前路段事故多发,请小心驾驶" - ), - TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG( - 0x2C07.toString(), - "环岛行驶", - poiTypeSrcVr = R.drawable.icon_warning_v2x_roundaboutpng, - content = "注意前方驶入环岛", - tts = "即将驶入环岛,减速慢行" - ), - TYPE_USECASE_ID_ROAD_TEST_SECTION( - 0x2C08.toString(), - "驾校考试路段", - poiTypeSrcVr = R.drawable.icon_warning_v2x_test_section, - content = "注意前方驾校考试路段", - tts = "驾校考试路段,请小心驾驶" - ), - TYPE_USECASE_ID_ROAD_HUMP_BRIDGE( - 0x2C09.toString(), - "驼峰桥", - poiTypeSrcVr = R.drawable.icon_warning_v2x_hump_bridge, - content = "注意前方驼峰桥", - tts = "注意即将驶入驼峰桥,请小心驾驶" - ), - TYPE_USECASE_ID_ROAD_NO_PARKING( - 0x2C10.toString(), - "禁止停车", - poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking, - content = "注意当前路段禁止停车", - tts = "当前路段,禁止停车" - ), TYPE_ERROR( 0.toString(), @@ -175,13 +275,12 @@ enum class V2iEventTypeEnum( companion object { - //===================告警类事件=================== @JvmStatic fun getTts(poiType: String?): String { return when (poiType) { - FOURS_ROAD_WORK.poiType -> FOURS_ROAD_WORK.tts + TYPE_FOURS_ROAD_WORK.poiType -> TYPE_FOURS_ROAD_WORK.tts else -> "道路事件" } } @@ -194,17 +293,39 @@ enum class V2iEventTypeEnum( TYPE_USECASE_ID_TJW.poiType -> TYPE_USECASE_ID_TJW.poiTypeSrcVr TYPE_USECASE_ID_IVP.poiType -> TYPE_USECASE_ID_IVP.poiTypeSrcVr TYPE_USECASE_ID_IVP_GREEN.poiType -> TYPE_USECASE_ID_IVP_GREEN.poiTypeSrcVr - TYPE_USECASE_ID_ROAD_TRAMCAR.poiType -> TYPE_USECASE_ID_ROAD_TRAMCAR.poiTypeSrcVr TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING.poiTypeSrcVr TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiTypeSrcVr - TYPE_USECASE_ID_ROAD_COLLISION_WARNING.poiType -> TYPE_USECASE_ID_ROAD_COLLISION_WARNING.poiTypeSrcVr - TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG.poiType -> TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG.poiTypeSrcVr - TYPE_USECASE_ID_ROAD_TEST_SECTION.poiType -> TYPE_USECASE_ID_ROAD_TEST_SECTION.poiTypeSrcVr - TYPE_USECASE_ID_ROAD_HUMP_BRIDGE.poiType -> TYPE_USECASE_ID_ROAD_HUMP_BRIDGE.poiTypeSrcVr TYPE_USECASE_ID_ROAD_NO_PARKING.poiType -> TYPE_USECASE_ID_ROAD_NO_PARKING.poiTypeSrcVr TYPE_VIP_IDENTIFICATION.poiType -> TYPE_VIP_IDENTIFICATION.poiTypeSrcVr TYPE_ERROR.poiType -> TYPE_ERROR.poiTypeSrcVr TYPE_OPTIMAL_ROUTE_RECOMMEND.poiType -> TYPE_OPTIMAL_ROUTE_RECOMMEND.poiTypeSrcVr + TYPE_USECASE_ID_BREAKDOWN_WARNING.poiType -> TYPE_USECASE_ID_BREAKDOWN_WARNING.poiTypeSrcVr + FOURS_PONDING.poiType -> FOURS_PONDING.poiTypeSrcVr + TYPE_USECASE_ID_ROAD_PARKING.poiType -> TYPE_USECASE_ID_ROAD_PARKING.poiTypeSrcVr + TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.poiType -> TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.poiTypeSrcVr + TYPE_ID_NTERSECTION.poiType -> TYPE_ID_NTERSECTION.poiTypeSrcVr + TYPE_ID_SHAPR_TURNS.poiType -> TYPE_ID_SHAPR_TURNS.poiTypeSrcVr + TYPE_ID_BRIDGE.poiType -> TYPE_ID_BRIDGE.poiTypeSrcVr + TYPE_ID_PEDESTRIAN.poiType -> TYPE_ID_PEDESTRIAN.poiTypeSrcVr + TYPE_ID_SLIPPERY_ROAD.poiType -> TYPE_ID_SLIPPERY_ROAD.poiTypeSrcVr + TYPE_ID_TUNNEL.poiType -> TYPE_ID_TUNNEL.poiTypeSrcVr + TYPE_ID_FERRY.poiType -> TYPE_ID_FERRY.poiTypeSrcVr + TYPE_ID_UNEVEN_ROAD.poiType -> TYPE_ID_UNEVEN_ROAD.poiTypeSrcVr + TYPE_ID_NON_MOTOR_VEHICLE.poiType -> TYPE_ID_NON_MOTOR_VEHICLE.poiTypeSrcVr + TYPE_ID_OBSTACLE.poiType -> TYPE_ID_OBSTACLE.poiTypeSrcVr + TYPE_FOURS_ROAD_WORK.poiType -> TYPE_FOURS_ROAD_WORK.poiTypeSrcVr + TYPE_VEHICLE_QUEUE.poiType -> TYPE_VEHICLE_QUEUE.poiTypeSrcVr + TYPE_NO_PASSING.poiType -> TYPE_NO_PASSING.poiTypeSrcVr + TYPE_NO_TURNING_AROUND.poiType -> TYPE_NO_TURNING_AROUND.poiTypeSrcVr + TYPE_USECASE_ID_ROAD_NO_PARKING.poiType -> TYPE_USECASE_ID_ROAD_NO_PARKING.poiTypeSrcVr + TYPE_USECASE_ID_ROAD_NO_TOOTING.poiType -> TYPE_USECASE_ID_ROAD_NO_TOOTING.poiTypeSrcVr + TYPE_USECASE_ID_ROAD_SPEED_LIMIT.poiType -> TYPE_USECASE_ID_ROAD_SPEED_LIMIT.poiTypeSrcVr + TYPE_USECASE_ID_GO_STRAIGHT_TURN_RIGHT.poiType -> TYPE_USECASE_ID_GO_STRAIGHT_TURN_RIGHT.poiTypeSrcVr + TYPE_USECASE_ID_BUS_WARNING.poiType -> TYPE_USECASE_ID_BUS_WARNING.poiTypeSrcVr + TYPE_USECASE_ID_NARROW_RIGHT.poiType -> TYPE_USECASE_ID_NARROW_RIGHT.poiTypeSrcVr + TYPE_USECASE_ID_GAS_STATION.poiType -> TYPE_USECASE_ID_GAS_STATION.poiTypeSrcVr + TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiTypeSrcVr + TYPE_USECASE_ID_ACCIDENT.poiType -> TYPE_USECASE_ID_ACCIDENT.poiTypeSrcVr else -> TYPE_ERROR.poiTypeSrcVr } } @@ -217,18 +338,41 @@ enum class V2iEventTypeEnum( TYPE_USECASE_ID_TJW.poiType -> TYPE_USECASE_ID_TJW.content TYPE_USECASE_ID_IVP.poiType -> TYPE_USECASE_ID_IVP.content TYPE_USECASE_ID_IVP_GREEN.poiType -> TYPE_USECASE_ID_IVP_GREEN.content - TYPE_USECASE_ID_ROAD_TRAMCAR.poiType -> TYPE_USECASE_ID_ROAD_TRAMCAR.content TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING.content TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.content - TYPE_USECASE_ID_ROAD_COLLISION_WARNING.poiType -> TYPE_USECASE_ID_ROAD_COLLISION_WARNING.content - TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG.poiType -> TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG.content - TYPE_USECASE_ID_ROAD_TEST_SECTION.poiType -> TYPE_USECASE_ID_ROAD_TEST_SECTION.content - TYPE_USECASE_ID_ROAD_HUMP_BRIDGE.poiType -> TYPE_USECASE_ID_ROAD_HUMP_BRIDGE.content TYPE_USECASE_ID_ROAD_NO_PARKING.poiType -> TYPE_USECASE_ID_ROAD_NO_PARKING.content TYPE_VIP_IDENTIFICATION.poiType -> TYPE_VIP_IDENTIFICATION.content TYPE_ERROR.poiType -> TYPE_ERROR.content - FOURS_ROAD_WORK.poiType -> FOURS_ROAD_WORK.content + TYPE_FOURS_ROAD_WORK.poiType -> TYPE_FOURS_ROAD_WORK.content TYPE_OPTIMAL_ROUTE_RECOMMEND.poiType -> TYPE_OPTIMAL_ROUTE_RECOMMEND.content + TYPE_USECASE_ID_BREAKDOWN_WARNING.poiType -> TYPE_USECASE_ID_BREAKDOWN_WARNING.content + FOURS_PONDING.poiType -> FOURS_PONDING.content + TYPE_USECASE_ID_ROAD_PARKING.poiType -> TYPE_USECASE_ID_ROAD_PARKING.content + TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.poiType -> TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.content + TYPE_ID_NTERSECTION.poiType -> TYPE_ID_NTERSECTION.content + TYPE_ID_SHAPR_TURNS.poiType -> TYPE_ID_SHAPR_TURNS.content + TYPE_ID_BRIDGE.poiType -> TYPE_ID_BRIDGE.content + TYPE_ID_PEDESTRIAN.poiType -> TYPE_ID_PEDESTRIAN.content + TYPE_ID_SLIPPERY_ROAD.poiType -> TYPE_ID_SLIPPERY_ROAD.content + TYPE_ID_TUNNEL.poiType -> TYPE_ID_TUNNEL.content + TYPE_ID_FERRY.poiType -> TYPE_ID_FERRY.content + TYPE_ID_UNEVEN_ROAD.poiType -> TYPE_ID_UNEVEN_ROAD.content + TYPE_ID_NON_MOTOR_VEHICLE.poiType -> TYPE_ID_NON_MOTOR_VEHICLE.content + TYPE_ID_OBSTACLE.poiType -> TYPE_ID_OBSTACLE.content + TYPE_FOURS_ROAD_WORK.poiType -> TYPE_FOURS_ROAD_WORK.content + TYPE_VEHICLE_QUEUE.poiType -> TYPE_VEHICLE_QUEUE.content + TYPE_NO_PASSING.poiType -> TYPE_NO_PASSING.content + TYPE_NO_TURNING_AROUND.poiType -> TYPE_NO_TURNING_AROUND.content + TYPE_USECASE_ID_ROAD_NO_PARKING.poiType -> TYPE_USECASE_ID_ROAD_NO_PARKING.content + TYPE_USECASE_ID_ROAD_NO_TOOTING.poiType -> TYPE_USECASE_ID_ROAD_NO_TOOTING.content + TYPE_USECASE_ID_ROAD_SPEED_LIMIT.poiType -> TYPE_USECASE_ID_ROAD_SPEED_LIMIT.content + TYPE_USECASE_ID_GO_STRAIGHT_TURN_RIGHT.poiType -> TYPE_USECASE_ID_GO_STRAIGHT_TURN_RIGHT.content + TYPE_USECASE_ID_BUS_WARNING.poiType -> TYPE_USECASE_ID_BUS_WARNING.content + TYPE_USECASE_ID_NARROW_RIGHT.poiType -> TYPE_USECASE_ID_NARROW_RIGHT.content + TYPE_USECASE_ID_GAS_STATION.poiType -> TYPE_USECASE_ID_GAS_STATION.content + TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.content + TYPE_USECASE_ID_ACCIDENT.poiType -> TYPE_USECASE_ID_ACCIDENT.content + else -> TYPE_ERROR.content } } @@ -241,18 +385,40 @@ enum class V2iEventTypeEnum( TYPE_USECASE_ID_TJW.poiType -> TYPE_USECASE_ID_TJW.tts TYPE_USECASE_ID_IVP.poiType -> TYPE_USECASE_ID_IVP.tts TYPE_USECASE_ID_IVP_GREEN.poiType -> TYPE_USECASE_ID_IVP_GREEN.tts - TYPE_USECASE_ID_ROAD_TRAMCAR.poiType -> TYPE_USECASE_ID_ROAD_TRAMCAR.tts TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING.tts TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.tts - TYPE_USECASE_ID_ROAD_COLLISION_WARNING.poiType -> TYPE_USECASE_ID_ROAD_COLLISION_WARNING.tts - TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG.poiType -> TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG.tts - TYPE_USECASE_ID_ROAD_TEST_SECTION.poiType -> TYPE_USECASE_ID_ROAD_TEST_SECTION.tts - TYPE_USECASE_ID_ROAD_HUMP_BRIDGE.poiType -> TYPE_USECASE_ID_ROAD_HUMP_BRIDGE.tts TYPE_USECASE_ID_ROAD_NO_PARKING.poiType -> TYPE_USECASE_ID_ROAD_NO_PARKING.tts TYPE_VIP_IDENTIFICATION.poiType -> TYPE_VIP_IDENTIFICATION.tts TYPE_ERROR.poiType -> TYPE_ERROR.tts - FOURS_ROAD_WORK.poiType -> FOURS_ROAD_WORK.tts + TYPE_FOURS_ROAD_WORK.poiType -> TYPE_FOURS_ROAD_WORK.tts TYPE_OPTIMAL_ROUTE_RECOMMEND.poiType -> TYPE_OPTIMAL_ROUTE_RECOMMEND.tts + TYPE_USECASE_ID_BREAKDOWN_WARNING.poiType -> TYPE_USECASE_ID_BREAKDOWN_WARNING.tts + FOURS_PONDING.poiType -> FOURS_PONDING.tts + TYPE_USECASE_ID_ROAD_PARKING.poiType -> TYPE_USECASE_ID_ROAD_PARKING.tts + TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.poiType -> TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.tts + TYPE_ID_NTERSECTION.poiType -> TYPE_ID_NTERSECTION.tts + TYPE_ID_SHAPR_TURNS.poiType -> TYPE_ID_SHAPR_TURNS.tts + TYPE_ID_BRIDGE.poiType -> TYPE_ID_BRIDGE.tts + TYPE_ID_PEDESTRIAN.poiType -> TYPE_ID_PEDESTRIAN.tts + TYPE_ID_SLIPPERY_ROAD.poiType -> TYPE_ID_SLIPPERY_ROAD.tts + TYPE_ID_TUNNEL.poiType -> TYPE_ID_TUNNEL.tts + TYPE_ID_FERRY.poiType -> TYPE_ID_FERRY.tts + TYPE_ID_UNEVEN_ROAD.poiType -> TYPE_ID_UNEVEN_ROAD.tts + TYPE_ID_NON_MOTOR_VEHICLE.poiType -> TYPE_ID_NON_MOTOR_VEHICLE.tts + TYPE_ID_OBSTACLE.poiType -> TYPE_ID_OBSTACLE.tts + TYPE_FOURS_ROAD_WORK.poiType -> TYPE_FOURS_ROAD_WORK.tts + TYPE_VEHICLE_QUEUE.poiType -> TYPE_VEHICLE_QUEUE.tts + TYPE_NO_PASSING.poiType -> TYPE_NO_PASSING.tts + TYPE_NO_TURNING_AROUND.poiType -> TYPE_NO_TURNING_AROUND.tts + TYPE_USECASE_ID_ROAD_NO_PARKING.poiType -> TYPE_USECASE_ID_ROAD_NO_PARKING.tts + TYPE_USECASE_ID_ROAD_NO_TOOTING.poiType -> TYPE_USECASE_ID_ROAD_NO_TOOTING.tts + TYPE_USECASE_ID_ROAD_SPEED_LIMIT.poiType -> TYPE_USECASE_ID_ROAD_SPEED_LIMIT.tts + TYPE_USECASE_ID_GO_STRAIGHT_TURN_RIGHT.poiType -> TYPE_USECASE_ID_GO_STRAIGHT_TURN_RIGHT.tts + TYPE_USECASE_ID_BUS_WARNING.poiType -> TYPE_USECASE_ID_BUS_WARNING.tts + TYPE_USECASE_ID_NARROW_RIGHT.poiType -> TYPE_USECASE_ID_NARROW_RIGHT.tts + TYPE_USECASE_ID_GAS_STATION.poiType -> TYPE_USECASE_ID_GAS_STATION.tts + TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.tts + TYPE_USECASE_ID_ACCIDENT.poiType -> TYPE_USECASE_ID_ACCIDENT.tts else -> TYPE_ERROR.tts } }