Skip to content

3 高速或快速路信息

功能介绍

高速或快速路信息通过 AlertEventListener.onHighwayInfoUpdated 推送,载荷为 HighwayInfo。SDK 在车辆处于高速 / 快速路且已匹配到路线时,更新前方高速 / 快速路相关设施,主要包括 出口(exit)服务区(rest area) 等。

前置条件:

  • Alert 组件已开启(未 disableAlert()),见 概述
  • alertManager.enableHighwayInfoDetection(true)(默认已开启)
  • 车辆在高速 / 快速路上且 未偏航、未 off-road

导航偏航(off-route)或 free drive 离路(off-road)时,不会 触发 onHighwayInfoUpdated

回调接口

1
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 获取(见 一般道路信息)。