较短路线偏好设置

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

“较短”一词表示根据默认费用模型,该路线在最佳路线结果中最短。较短的路由可能不是绝对最短路由,因为该路由可能不是很差的备选路线。例如,当绝对最短路线为 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);

路线详情

如果较短的路线花费的时间过长,则默认的最佳路线是更好的选择。您可以调用 getRouteInfo() 来获取各个路由策略的详细信息,从而比较路由策略。详细信息包括时长以及到目的地航点的距离。

获取路线详情

您可以检索单个航点的两种路线策略(默认最佳路线和较短路线)的路线详情。这些详细信息来自 RouteInfo,并在 ListenableResultFuture 中返回。

示例

以下代码示例演示了如何获取两种路由策略的路由详细信息。

ListenableResultFuture<RouteInfo> routeInfoFuture =
        navigator.getRouteInfo(waypoint, routingOptions);

路线标注格式

在较短的路线路线策略下,路线沿途的宣传信息会显示距离详情。不过,您可以改用加大型文字广告宣传信息。

配置路线调用程序的格式

您可以通过在 NavigationView(或 NavigationFragment)中调用 setRouteCalloutInfoFormat 来更改路线调用程序的格式。setRouteCalloutInfoFormat 可接受以下枚举值之一:

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

示例

以下代码示例演示了如何配置路线调用程序格式。

mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);