调整路线偏好设置

路线计算(包括重新规划路线)会将导航时间最短的路线作为默认最佳路线返回。不过,您可以更改路线规划策略,以便返回较短的备选路线。

“更短”一词是指根据我们的默认费用模型,在最佳路线中距离最短的路线。较短路线可能不是绝对最短路线,因为该选项可能不是一个好的替代方案。例如,如果绝对最短路线为 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);

路线标注格式

在“较短路线”偏好设置下,沿路线显示的标注会显示距离详情。但您可以使用 ETA 宣传信息。

配置路由标注格式

您可以通过在 NavigationView(或 NavigationFragment)中调用 setRouteCalloutInfoFormat 来更改路线标注格式。setRouteCalloutInfoFormat 采用以下枚举值之一:

枚举值说明
RouteCalloutInfoFormat.DEFAULT 显示使用默认最佳路线规划策略时的剩余时间。使用较短路线路由策略时,显示剩余距离。
RouteCalloutInfoFormat.TIME 显示剩余时间。
RouteCalloutInfoFormat.DISTANCE 显示剩余距离。

示例

以下代码示例演示了如何配置路由标注格式。

mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);