{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671516346093,"data":{"id":71713204,"title":"5.4.3.16 多备选路的路线变化通知操作","slug":"tb7gx1","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

场景图

见产品说明:多备选路线

路线重算请见:重算信息设置

特别说明

IGuideService::SetNaviPath接口在>=500的版本存在接口变更。

// < 500的 老接口,mainIndex入参的类型在底层cpp为int32_t\npublic boolean setNaviPath(NaviPath naviPath, long mainIndex);\n\n// >= 500之后的新接口,mainIndex入参的类型在底层cpp为uint32_t\npublic boolean setNaviPath(NaviPath naviPath, long mainIndex);\n\n// >= 610之后的新接口,mainIndex入参被合并到NaviPath中\npublic boolean setNaviPath(NaviPath naviPath);

500之前的版本,备选路重算的结果,算路结果只返回备选路线,HMI需要保留旧的主引导路线,并且将onNewRoute下发的新路线结果(里面只有备选路线)通过GuideService.setNaviPath( naviPath, -1)设置给GuideService。【这种setNaviPath传入-1的用法已废弃】

行中备选路重算,SDK内聚,在非多屏一致性产品形态下,优先建议开启SDK自动发起被动重算。参考:《行中SDK自动发起被动重算》

时序图

核心接口

boolean com.autonavi.gbl.guide.GuideService.setNaviPath(NaviPath naviPath)
void com.autonavi.gbl.guide.GuideService.selectMainPathID(long pathID)
void com.autonavi.gbl.guide.observer.INaviObserver.onSuggestChangePath(long newPathID,long oldPathID,SuggestChangePathReason reason)
void com.autonavi.gbl.guide.observer.INaviObserver.onSelectMainPathStatus(long pathID,@ChangeNaviPathResult.ChangeNaviPathResult1 int result )
void com.autonavi.gbl.guide.observer.INaviObserver.onChangeNaviPath(long oldPathId , long pathID)

图层中的路线绘制内容,详见【路线绘制】,下面仅提供部分图层接口提示。

void com.autonavi.gbl.layer.BizGuideRouteControl.setPathInfos(ArrayList<BizPathInfoAttrs> pathInfo,int selectIndex)
void com.autonavi.gbl.layer.BizGuideRouteControl.setSelectedPathIndex(int index)
void com.autonavi.gbl.layer.BizGuideRouteControl.updatePaths()

说明:函数详情,请复制函数名称到在线API搜索。

","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-05-13 09:24:49","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":221,"collectCount":0,"estimateDate":5,"docStatus":0,"permissions":true,"overView":false}}