{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671516316178,"data":{"id":71713633,"title":"5.3.1.1 二次算路","slug":"as323e","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

由于路线及路线上的数据比较大,一次算路把结果都抓取下性能较差,延时较长,SDK为了提高在线算路结果响应时间,内部会分次发起算路请求,第一次算路请求返回的是路线数据,第二次算路请求返回的路线上的引导信息;

算路次数

时序逻辑

限制

仅在线算路场景会触发二次算路,离线场景还是保持一次算路不变


为了满足用户不同场景需求,SDK根据算路应答结果是否每次都返回hmi,划分如下两种场景

分次应答

SDK两次次算路结果都分别通知hmi,hmi在收到第一次算路结果时候,可以先描绘出完整路线,第二次算路应答时候,展示路线上的信息;该功能建议在规划页场景使用,用于用户快速显示路线;

启用该功能需要通过接口IRouteOption.setCalcRouteRespType = SplitRespType,算路参数设置参考【基础算路】,算路应答详见【算路结果回调

hmi在接收到第一次算路成功应答时,可以进行路线描绘

hmi进行算路结果的失败提示或处理

当收到第二次应答时候,描绘并显示路线上的引导信息

hmi进行算路结果的失败提示或处理,同时支持hmi进行重试操作


调用示例

\nRouteService mRouteService = (RouteService)ServiceMgr.getServiceMgrInstance().getBLService(SingleServiceID.RouteSingleServiceID);\n...\nRouteOption routeOption = RouteOption.create();\n...\nrouteOption.setCalcRouteRespType(SplitRespType);//设置本次算路结果为分次应答类型\n...\nmRouteService.requestRoute(routeOption);

合并应答

用户发起一次算路请求,SDK内部依然发起两次算路请求,但是最终只透出一次最终算路结果通知hmi,常用于非规划页场景,如导航过程中的偏航重算等

意味着最终二次算路都成功,详见【算路结果回调

只要其中一次算路失败,SDK都会返回失败给hmi,hmi根据算路结果进行失败提示或处理


调用示例

\nRouteService mRouteService = (RouteService)ServiceMgr.getServiceMgrInstance().getBLService(SingleServiceID.RouteSingleServiceID);\n// 全局控制参数需要先设置渠道号信息\nmRouteService.control(RouteControlKey.RouteControlConfigSetOddKey, "C04010111110");\n...\nRouteOption routeOption = RouteOption.create();\n...\n//默认已开启算路结果应答为合并应答类型,或者主动设置为合并应答类型也可\nrouteOption.setCalcRouteRespType(MergeRespType);//该设置仅针对单次算路而言\n...\nmRouteService.requestRoute(routeOption);


","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-04-06 07:02:37","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":263,"collectCount":0,"estimateDate":4,"docStatus":0,"permissions":true,"overView":false}}