EV导航
功能介绍
EV 导航在常规导航上增加“电量可达性 + 充电规划 + 动态调整”能力。
目标是让路线在导航全程可执行:既能到达目的地,也能在电量风险上升时及时给出候选路线或自动更新。
使用条件
- 车辆参数中已配置 EV 相关信息(车型、电池、能源状态等)。
- 通过
EvTripPlanRequest发起 EV trip planning 路线,而不是普通 route request。 - 已注册
NavigationEventListener,用于接收 EV 导航过程事件。 - EV 算路请求需启用
ChargingPlanPreference.setEnableChargingPlanning(true),否则导航中不会触发 EV 充电规划相关动态更新回调。 - 设备需保持联网;EV 充电规划与站点可用性相关能力依赖在线服务。
EV 算路请求参数与 ChargingPlanPreference 说明,见 EV算路。
核心接口
| 接口 | 作用 | 典型用法 |
|---|---|---|
NavigationService.createNavigableEvTripPlanTask(request) |
计算可导航 EV 路线(含充电规划) | 导航前生成 EV 路线 |
onBetterRouteDetected(proposal) |
EV 场景下给出候选更优路线(proposal) | 由 HMI 决定是否采纳 |
onNavigationRouteUpdating(progress) |
EV 相关自动/已确认换路进度 | SUCCEEDED 后刷新当前导航线 |
onChargingStationUnreachableEventUpdated(event) |
预测前方充电站或目的地不可达 | 触发高优先级风险提示 |
NavigationSession.setLowBatteryWarningLevel(target: LowBatteryWarningTarget, percent: Int) |
导航中按目标动态调整低电量预警阈值 | 分别配置目的地与充电站阈值 |
导航中 EV 事件与处理
EV reason
以下 onNavigationRouteUpdating 中的 EV 相关 reason(如 INSUFFICIENT_BATTERY_LEVEL、RESUME_EV_TRIP_PLAN、UPDATE_EV_TRIP_PLAN)仅在 setEnableChargingPlanning(true) 时触发。
| reason | 主要回调 | 触发语义(总结) | HMI 建议动作 |
|---|---|---|---|
INSUFFICIENT_BATTERY_LEVEL |
onNavigationRouteUpdating |
当前电量不足以支撑到前方充电站或终点 | 立即给高优先级告警;SUCCEEDED 后刷新主导航线并更新电量风险提示 |
RESUME_EV_TRIP_PLAN |
onNavigationRouteUpdating |
初始网络不佳时可能先以非 EV route 开始导航;当网络/数据条件满足后,SDK 会恢复并更新为 EV route | 提示用户路线已恢复为 EV 导航,并刷新路线等信息 |
UPDATE_EV_TRIP_PLAN |
onNavigationRouteUpdating |
现有充电计划受实际行驶/充电行为影响,需要更新 EV 规划 | 结果可能为新增充电站、删除充电站(无需充电也可到达)或更换充电站;SUCCEEDED 后同步更新路线与后续充电点 |
CHARGING_STATION_UNAVAILABLE |
onBetterRouteDetected |
前方自动规划充电站不可用(例如,所有充电桩被占的情况) | Proposal 场景先弹决策卡,由用户选择是否接受路线 |
LOW_ARRIVAL_BATTERY_LEVEL |
onBetterRouteDetected / onNavigationRouteUpdating |
预计到下一个充电或终点的电量低于预警阈值 | 提示“低到达电量风险”;由用户选择是否接受路线 |
两类回调如何配合
- 回调配合方式与 更优的路 一致:
onBetterRouteDetected负责提议,onNavigationRouteUpdating负责执行进度。 - EV 场景仅在 reason 与载荷上不同(充电站与电量相关信息更多)。
动态低电量阈值(NavigationSession.setLowBatteryWarningLevel)
1 2 3 4 | |
target 含义:
| target | 作用对象 | 评估基线 |
|---|---|---|
LowBatteryWarningTarget.DESTINATION |
目的地检查点 | ChargingPlanPreference.preferredArrivalBatteryLevel |
LowBatteryWarningTarget.CHARGING_STATION |
路线上所有充电站检查点 | ChargingPlanPreference.preferredStartChargingBatteryLevel |
默认行为与常见误区:
- 该 API 只在 EV trip planning 路线导航中生效。
- 若不调用该 API,两个 target 都使用创建会话时的共享阈值(默认
50%)。 percent合法范围为(0, 100];超范围值会被忽略,保持当前值不变。- 该 API 会覆盖对应 target 的运行时阈值,不会影响另一个 target。
不可达事件(独立于 reason)
onChargingStationUnreachableEventUpdated(event) 用于“可达性”快速告警,载荷为 InsufficientBatteryLevelInfo:
distanceToPredictedLocation:到下一检查点距离estimatedTravelDistance:当前电量预计可行驶距离
当 estimatedTravelDistance < distanceToPredictedLocation 时,建议直接升级为最高级风险提示(UI + 语音)。
配置建议(创建 NavigationService 时)
| 配置项 | 推荐说明 |
|---|---|
setLowBatteryWarningLevel(level) |
创建 NavigationService 时设置共享默认阈值((0,100],默认 50)。运行中可用 NavigationSession.setLowBatteryWarningLevel(target, percent) 分别配置充电站(途径点)和终点的阈值 |
setBatteryConsumedCheckPercent(percent) |
可达性检查频率参数,推荐 2~30,默认 5 |
setChargingStationStatusCheckRemainingTime(seconds) |
充电站状态检查触发时间阈值,300~1800 秒,默认 600 |
典型流程(事件处理视角)
1 2 3 4 5 6 7 8 9 | |
注意事项
onChargingStationUnreachableEventUpdated仅在 EV 导航中触发。- EV 相关 reason 只在对应 EV 场景有效,HMI 需按 reason 分类处理。
- 回调线程为 Message 线程,更新 UI 请切主线程。
- EV 参数(尤其电量与充电偏好)变化较大时,建议重新规划 EV 路线。