{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671518264790,"data":{"id":71713415,"title":"4.25服务区续航","slug":"ym643v","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"
文档中有【HMI】标志的表示:Auto基于SDK实现的示例,可能与Auto最新版本效果存在差异,仅供参考。
从服务区续航的时候自动续航(不用手动点击弹条),且路线保持不变
步骤1、HMI保存原有路线
1、在首次算路以及每次路线更新后,HMI需要保存完整路线
2、tbt下发路线即进行临时保存,进入服务区200米入口点时真正保存到内存中。
步骤2、续航时,HMI判断是否处于服务区场景
1、导航场景下当前位置距离前方服务区200米范围内时,HMI开始记录【当前在服务区场景】;直到沿路径驶离服务区2km外,HMI取消记录【当前在服务区场景】
*该判断仅在熄火前进行
*2km的距离使用路径全程距离做减法;例如距离服务区200米时,此时计算当前位置距离路径终点的距离是d,当当前位置距离终点的距离<(d-2000m-200m)时,则出了服务区场景
*需保证终点一直不变,如果终点发生变化,则取消记录
*由于HMI是通过tbt回调进行判断距离,不一定是准卡在200米,会小于200米一些
2、起步后,HMI读取记录,若是【当前在服务区场景】,那么判断下当前位置距离上一次熄火时位置的直线距离,若小于1km则判断还在【服务区场景】,则进行以下步骤3;若不满足条件则走正常的续航弹条逻辑,并且需要删除本地的记录【当前在服务区场景】
步骤3、恢复路线并做偏航抑制
1、HMI不弹续航框直接开始导航,并恢复原有路线、并将路线传给tbt用于做服务区偏航抑制
2、HMI请求etaTrafficUpdate接口,更新路径路况,请求是否有更好路线以及动态事件
3、tbt播报“继续导航,全程XX公里。。。”