调整路线偏好设置

路线计算(包括重新规划路线)会返回 尽可能缩短导航时间。不过,您可以更改路由策略,以便系统改为返回距离较短的路线选项。

“较短”一词是指最佳路线中最短的路线 构建机器学习模型。较短的路线可能不是绝对最短的路线,因为该选项可能不是一个好的替代方案。例如,如果 绝对最短的路线为 10 公里,导航需要 50 分钟, 另一条路线距离 15 公里,但导航只用了 20 分钟。第二选择 因为花 30 分钟减少 5 公里是不划算的。

为行程设置路线策略后,在行程结束之前,策略不会更改 。要更改现有行程的路线策略,您必须清除 并使用新的路由策略重新重置这些目的地。

正在获取路线详情

如需确定哪种路线策略是给定航点的最佳选择,请调用 getRouteInfo() 以获取默认最佳路线和绝对更短路线的路线详细信息。详细信息包括时长和到达目的地航点的距离。

这些详细信息来自 RouteInfo,并以 ListenableResultFuture

示例

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

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

设置路由策略

您可以通过设置 RoutingOptions.routingStrategy(在调用 setDestinations() 时)。

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);

路线标注格式

在“更短路线”偏好设置下,路线沿途的宣传信息会显示距离详细信息。不过,您可以改用预计到达时间宣传信息。

配置路由调用程序格式

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

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

示例

以下代码示例演示了如何配置路线宣传信息格式。

mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);