计算路线(包括重新规划路线)时,花费的时间最少的路线将返回为“默认最佳路线”。但是,您可以更改路由策略,以便返回较短的路由备选项。
“较短”一词表示根据默认成本模型计算,该路线是最佳路线结果中最短的。较短的路线可能不是绝对最短的路线,因为该路线可能不是最糟糕的备选路线。例如,当绝对最短的路线为 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);