导航路线规划
关于云端路线规划跨区延时:泰为提供的测试服务器通常部署在 US West(Oregon)。因此,在北美以外区域进行云端路线规划时,可能出现较明显的响应延时;该现象主要由跨区域网络时延引起,不代表 SDK 路线规划能力问题。生产环境会根据目标市场就近部署服务,将跨区域网络时延影响降至最低。
基本介绍
导航路线规划功能帮助驾驶员安全到达目的地。它可针对给定的起终点 OD 对进行路线、预计到达时间(ETA)、导航引导和通行成本计算。开发者可以使用不同的代价模型,并配置多种避让条件,例如避开未铺装道路、高速公路、收费道路、季节性道路、指定道路等,最多可计算一条或多条候选路线。算路结果可返回路线总览、分段信息、引导动作、道路几何、交通、收费、限行和货车限制等数据。引导计算支持分段式引导计算,可缩短开始导航前的等待时间;通行成本计算能力还支持能耗估算和续航里程预测。

使用路线规划功能时,以下接口和模型需要重点了解:
NavigationService:导航服务入口,提供 Hybrid 算路任务创建。NavigationService.createNavigableRouteTask(...):创建算路任务(本文档求路主入口)。Task<RouteResponse>:算路任务对象,通过runAsync或runSync执行并获取结果。RouteRequest:路线规划请求,通过RouteRequest.Builder构建。RouteResponse:路线规划响应包装,通过response获取状态与路线列表。Route:单条路线结果,包含路线长度、耗时、分段、步骤、道路形状点和附加信息。RoutePreferences:路线偏好,用于设置避让高速、收费、拥堵、渡轮、隧道等选项。
求路流程概览
1 2 3 4 5 6 7 8 9 10 11 | |
- 构建
RouteRequest。 - 调用
createNavigableRouteTask获取Task<RouteResponse>。 - 调用
runAsync(异步)或runSync(同步)执行任务。 - 在回调中检查
response.response.status,从response.response.result读取Route列表。 - 使用完毕后调用
task.dispose()。
说明
- 导航算路使用
createNavigableRouteTask,采用 Hybrid 策略,无需 手动指定 Onboard / Cloud;SDK 会根据当前网络状态、地图数据版本等信息自动选择最终适用的算路方式。 - 起终点通过
GeoLocation提供位置;坐标使用 WGS84 经纬度。 - 途经点通过
RouteRequest.Builder.stopPoints(...)设置,顺序即期望经过顺序。 - 请求多路线时使用
routeCount,有效值为1~3;实际返回数量可能少于请求数量。 - 如果设置了途经点,即使
routeCount大于1,当前也可能最多返回一条路线。
相关阅读
路线规划相关内容按主题整理在下列文档中,可按你的集成阶段直接查看对应章节: