{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671516327622,"data":{"id":71712776,"title":"5.3.5.8 路线的保存和还原","slug":"quzduk","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

使用场景

HMI可以保存算路结果的路径二进制数据(仅在线算路才有),在以后的使用中进行路线还原。使用场景举例:【服务区续航】时直接开始导航并恢复原有路线。

时序图

二次算路

客户端发起算路请求



客户端发起路线还原请求

关键参数

CalcRouteResultData routeData 注:一次算路结果和二次算路结果必须要有否则解码结果异常

byte[] srcBuffer

SceneFlagTypeNormal

= 0x00

默认场景

SceneFlagTypeServiceAreaContinuation

= 0x01

服务区续航场景

SceneFlagTypeOrdinaryContinuation

= 0x02

传统续航场景

核心接口

//客户端发起算路请求的情况

static ArrayList<PathInfo> com.autonavi.gbl.common.path.drive.DrivePathDecoder.decodeMultiRouteData(CalcRouteResultData routeData)

//客户端发起路线还原请求的情况

static ArrayList<PathInfo> com.autonavi.gbl.common.path.drive.DrivePathDecoder.decodeRouteData(byte[] srcBuffer)

void com.autonavi.gbl.guide.model.NaviPath.setScene(@SceneFlagType.SceneFlagType1 int value)

注意:路线还原场景中,setScene必须调用。


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

调用示例

Coord3DDouble stLastPos;\nfloat Lastcourse;\n@Override\npublic void onLocInfoUpdate(LocInfo locInfo) {\n    \n    stLastPos = locInfo.matchInfo.get(0).stPos;\n    Lastcourse = locInfo.matchInfo.get(0).course;\n\t\n}\n\n/**\n * 路线二进制数据信息保存\n */\npublic static boolean savePathResult(PathResultData pathResultData) {\n    //...\n    //客户端发起路线请求的情况保存如下信息\n    //save : pathResultData.calcRouteResultData.drivePlanData\n    //save : pathResultData.calcRouteResultData.driveGuideData\n    //save : pathResultData.calcRouteResultData.oddData (可选,不保存则无法还原路线信息)\n    \n    //客户端发起路线还原的情况保存如下信息\n    //save : pathResultData.routeRestorationData.pData\n    //save : pathResultData.routeRestorationData.pDataSize\n    \n    // 保存最后的位置和航向\n    // save : stLastPos\n    // save : Lastcourse\n    // ...\n    return true;\n}\n\n/**\n* 对已保存的路线二进制数据信息进行解码\n* 客户端发起路线还原的情况(savePathResult获取路线二进制数据)\n*/\npublic static ArrayList<PathInfo> decodeRouteData(byte[] bytes) {\n\treturn DrivePathDecoder.decodeRouteData(bytes);\n}\n\n/**\n* 对已保存的路线二进制数据信息进行解码\n* 客户端发起路线请求的情况(savePathResult获取路线二进制数据,\n* 一次算路结果(drivePlanData)和二次算路结果(driveGuideData)必须要有否则解码结果异常,\n* oddData为可选项,有则路线会解析出路线上的odd信息,没有则不解析出路线上的odd信息)\n*/\npublic static ArrayList<PathInfo> decodeRouteData(CalcRouteResultData routeData) {\n\treturn DrivePathDecoder.decodeMultiRouteData(routeData);\n}\n\nNaviPath naviPath;\n//设定服务区续航场景\nnaviPath.setScene(SceneFlagType.SceneFlagTypeServiceAreaContinuation);\nGuideService.setNaviPath(naviPath);


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