3 高速或快速路信息
功能介绍
高速或快速路信息通过 AlertEventListener.onHighwayInfoUpdated 推送,载荷为 HighwayInfo。SDK 在车辆处于高速 / 快速路且已匹配到路线时,更新前方高速 / 快速路相关设施,主要包括 出口(exit) 与 服务区(rest area) 等。
前置条件:
- Alert 组件已开启(未
disableAlert()),见 概述
alertManager.enableHighwayInfoDetection(true)(默认已开启)
- 车辆在高速 / 快速路上且 未偏航、未 off-road
导航偏航(off-route)或 free drive 离路(off-road)时,不会 触发 onHighwayInfoUpdated。
回调接口
| fun onHighwayInfoUpdated(highwayInfo: HighwayInfo)
|
| 参数 |
说明 |
highwayInfo |
当前高速 / 快速路相关信息 |
HighwayInfo
| 字段 |
说明 |
aheadHighwayItems |
前方路径上的高速设施列表(HighwayItemList) |
HighwayItemList
| 字段 |
说明 |
exits |
出口信息列表(List<HighwayExitInfo>) |
restAreas |
服务区信息列表(List<RestAreaInfo>) |
HighwayExitInfo(出口)
| 字段 |
说明 |
basicInfo |
高速设施基础信息(类型、到车距离等,AlertBasicHighwayInfo) |
exitLocation |
出口位置坐标 |
signpost |
路牌 / 导向信息 |
exitNumber |
出口编号 |
exitNames |
出口名称列表 |
exitIconContext |
出口图标渲染上下文(用于 HMI 绘制盾牌/出口图标) |
RestAreaInfo(服务区)
服务区条目同样包含 basicInfo 及位置、名称等字段,用于预告前方服务区。
示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 | navigationService.eventHub.addAlertEventListener(object : AlertEventListener {
override fun onAlertEventUpdated(alertEvent: AlertEvent) {
// 见「一般道路信息」
}
override fun onHighwayInfoUpdated(highwayInfo: HighwayInfo) {
highwayInfo.aheadHighwayItems?.exits?.forEach { exit ->
val distance = exit.basicInfo.distanceToVehicle
val exitNum = exit.exitNumber
val names = exit.exitNames
// 展示出口预告牌
}
highwayInfo.aheadHighwayItems?.restAreas?.forEach { restArea ->
// 展示服务区预告
}
}
override fun onLaneGuidanceInfoUpdated(laneGuidanceInfo: LaneGuidanceInfo) {
// 见「4 车道推荐信息」
}
})
|
注意事项
- 勿从
AlertEvent.aheadHighwayInfoItems / behindHighwayInfoItems 读取高速信息(已废弃),应使用本回调。
- 偏航或 off-road 时回调停止更新,恢复匹配路线后才会继续推送。
- 关闭检测:
enableHighwayInfoDetection(false) 后不再收到本回调。
- 一般道路上的限速、电子眼等仍通过
onAlertEventUpdated 获取(见 一般道路信息)。