Skip to content

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_LEVELRESUME_EV_TRIP_PLANUPDATE_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 与载荷上不同(充电站与电量相关信息更多)。
1
2
3
4
navigationSession.setLowBatteryWarningLevel(
    target: LowBatteryWarningTarget,
    percent: Int
)

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 + 语音)。

配置项 推荐说明
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
创建 EV trip planning 路线并启动导航
    ↓
监听 EV 相关回调(proposal / updating / unreachable)
    ↓
按 reason 做分流处理(风险提示 or 用户决策)
    ↓
以 onNavigationRouteUpdating(SUCCEEDED) 为落地点
    ↓
更新当前导航路线、刷新 MapView、同步电量与充电计划 UI

注意事项

  • onChargingStationUnreachableEventUpdated 仅在 EV 导航中触发。
  • EV 相关 reason 只在对应 EV 场景有效,HMI 需按 reason 分类处理。
  • 回调线程为 Message 线程,更新 UI 请切主线程。
  • EV 参数(尤其电量与充电偏好)变化较大时,建议重新规划 EV 路线。