路线计算(包括重新规划路线)会返回 尽可能缩短导航时间。但是 您可以更改路由策略 。
“较短”一词是指最佳路线中最短的路线 构建机器学习模型。较短的路线可能不是绝对路线 因为备选路线可能不太合适。例如,如果 绝对最短的路线为 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);