路线计算(包括重新规划路线)会返回导航时间最短的路线,作为 默认的最佳路线。但您可以更改路线规划策略,以便返回较短的备选路线。
“较短”是指在我们的默认费用模型中,最优路线中最短的路线。 较短的路线可能不是 绝对 最短的路线,因为该选项可能不是一个好的替代方案。例如,如果绝对最短的路线为 10 公里,导航时间为 50 分钟,而另一条路线为 15 公里,但导航时间仅为 20 分钟,那么第二条路线是最佳选择,因为花费 30 分钟来缩短 5 公里的路程并不划算。
为行程设置路线规划策略后,该策略在行程完成之前不会更改。如需更改现有行程的路线规划策略,您必须清除目的地,然后使用新的路线规划策略重新设置目的地。
设置路线规划策略
您可以在调用 setDestinations() 时设置 RoutingOptions.routingStrategy 来配置路线规划策略。
RoutingOptions.routingStrategy 采用以下枚举值之一:
| 枚举值 | 说明 |
|---|---|
| RoutingStrategy.DEFAULT_BEST | 根据 Navigation SDK 的默认费用模型对路线进行排名。这是默认的 路线规划策略。 |
| RoutingStrategy.SHORTER | 按距离对路线进行排名。排名最高的路线是返回的路线中最短的路线。 |
示例
以下代码示例展示了如何设置较短路线偏好。
RoutingOptions routingOptions = new RoutingOptions();
routingOptions.routingStrategy(RoutingStrategy.SHORTER);
navigator.setDestinations(destinations, routingOptions, displayOptions);
包含轮渡的路线
默认情况下,NavSDK 会排除包含轮渡的路线。如果您希望将轮渡选项纳入路线,可以将此路线规划偏好设置为 avoidFerries 为 false,以显示包含轮渡路段的行程。
示例
RoutingOptions routingOptions = new RoutingOptions().avoidFerries(true);
// Add additional routing preferences
navigator.setDestination(destination, routingOptions);
路线宣传信息格式
在较短路线偏好设置下,路线上的宣传信息会显示距离详细信息。但您可以改用预计到达时间宣传信息。
配置路线宣传信息格式
您可以在 NavigationView(或 NavigationFragment)中调用 setRouteCalloutInfoFormat 来更改路线宣传信息格式。setRouteCalloutInfoFormat 采用以下枚举值之一:
| 枚举值 | 说明 |
|---|---|
| RouteCalloutInfoFormat.DEFAULT | 使用默认的最佳路线规划策略时,显示剩余时间 。使用较短路线规划策略时,显示剩余距离 。 |
| RouteCalloutInfoFormat.TIME | 显示剩余时间。 |
| RouteCalloutInfoFormat.DISTANCE | 显示剩余距离。 |
示例
以下代码示例展示了如何配置路线宣传信息格式。
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);