商用车导航
功能介绍
商用车导航用于 VehicleCategory = TRUCK 的导航。与乘用车相比,商用车路线在导航中会持续考虑更严格的通行约束(如尺寸、质量、危险品、限时规则等),并以“自动换路 + 更优的路”两套事件向 HMI 暴露决策结果。
使用条件
仅当车辆类别设置为 Truck 时,SDK 才会启用商用车导航策略(含商用车 better-route 检测逻辑)。
请先完成 车辆参数设置 中的车型配置,至少保证:
vehicleCategory = VehicleCategory.TRUCK
- 商用车关键参数已按实际车辆设置(尺寸/质量、轴组、挂车、危险品等)
建议在创建 NavigationService 或发起首条导航路线前完成上述配置,避免导航期间车辆信息不一致。
核心接口
| 接口 |
作用 |
何时使用 |
onBetterRouteDetected(proposal: BetterRouteProposal) |
通知“有可选更优路线候选” |
需要客户端决策是否采纳候选路线 |
onNavigationRouteUpdating(progress: BetterRouteUpdateProgress) |
通知“路线更新过程与结果” |
在换路成功后由 HMI 更新当前导航路线并刷新 MapView 导航路线显示 |
CV DRG 行为逻辑(白/灰/黑路)
路线状态定义
| 状态 |
含义 |
典型限制 |
| 白路(White) |
无限制路线 |
无约束冲突 |
| 灰路(Grey) |
软限制路线:可通行但可能违反法规 |
限时、危险品、重量等 |
| 黑路(Black) |
硬限制/高风险路线:存在强约束冲突,需要高优先级风险提示 |
高/宽/长/车型等硬限制 |
场景决策矩阵(Proposal / Mandatory)
| 触发场景 |
当前路线状态 |
新路线状态 |
SDK行为 |
对应回调 |
HMI处理 |
Content Switch / Deviation |
白/灰/黑 |
白/灰/黑 |
Mandatory(直接换路) |
onNavigationRouteUpdating |
换路成功后更新当前导航路线并刷新 MapView |
Timed Restriction |
灰 |
白/灰 |
Proposal(客户端决定是否采纳) |
onBetterRouteDetected |
展示限时限制提议,等待用户确认 |
Timed Restriction |
黑 |
白/灰/黑 |
Proposal(客户端决定是否采纳) |
onBetterRouteDetected |
展示限时限制提议(高风险样式),等待用户确认 |
Blocked Traffic |
灰 |
白/灰 |
Proposal(客户端决定是否采纳) |
onBetterRouteDetected |
展示交通阻塞提议,等待用户确认 |
Blocked Traffic |
黑 |
白/灰/黑 |
Proposal(客户端决定是否采纳) |
onBetterRouteDetected |
展示交通阻塞提议(高风险样式),等待用户确认 |
Saving time/distance |
白 |
白 |
按节省时间等条件决定是否给 Proposal |
onBetterRouteDetected(有提议时) |
仅在收益达标或策略允许时提示 |
Saving time/distance |
灰 |
白/灰 |
Proposal(客户端决定是否采纳) |
onBetterRouteDetected |
展示节省时间提议,等待用户确认 |
Saving time/distance |
黑 |
白/灰/黑 |
Proposal(客户端决定是否采纳) |
onBetterRouteDetected |
展示节省时间提议(高风险样式),等待用户确认 |
回调与原因映射(建议 HMI 使用)
| 回调 |
典型 reason |
含义 |
HMI建议 |
onBetterRouteDetected |
AVOID_TIMED_RESTRICTION |
为避开商用车限时限制给出候选路线 |
展示“限时限制”提议卡,附风险等级 |
onBetterRouteDetected |
AVOID_BLOCKING_TRAFFIC |
为避开阻塞交通给出候选路线 |
展示“交通阻塞”提议卡 |
onNavigationRouteUpdating |
AVOID_TIMED_RESTRICTION / AVOID_BLOCKING_TRAFFIC |
已进入路线更新流程(开始/成功/失败) |
以进度态更新 UI,成功后刷新导航线 |
实现建议
| 收到 onBetterRouteDetected
↓
HMI 展示白/灰/黑风险等级 + 收益(savedTime / reason)
↓
用户确认后 acceptRouteProposal(...)
↓
onNavigationRouteUpdating(SUCCEEDED)
↓
更新当前导航路线并刷新 MapView
|
集成建议
- HMI 分层展示:
onBetterRouteDetected:展示候选卡片(节省时长、触发原因、风险信息)
onNavigationRouteUpdating:展示执行进度(更新中、成功、失败)
- 商用车场景建议把“限制原因”可视化(例如限高/限重/限时)并与路线高亮联动。
- 对同类重复提议做去重或冷却时间控制,避免提示噪音。
注意事项
onBetterRouteDetected 与 onNavigationRouteUpdating 都在 Message 线程回调,更新 UI 请切主线程。
- 商用车参数变化后,建议重新算路或重建导航会话,以确保策略判断与当前车辆状态一致。
- 与 限时通行 联动时,
TimedRestrictionEdge.truckRestrictions 仅在商用车相关场景有意义。