調整轉送偏好設定

路線計算作業 (包括重新導航) 會傳回最短的導航時間,做為預設最佳路線。不過,您可以變更轉送策略,改為回傳較短的路徑替代方案。

「較短」一詞是指根據預設成本模型,在所有最佳路線中,最短的路線。較短的路線可能不是絕對最短的路線,因為這個選項可能不是理想的替代方案。舉例來說,如果最短路線長度為 10 公里,且導航時間為 50 分鐘,而另一條路線長度為 15 公里,但導航時間僅需 20 分鐘,那麼第二個路線會是最佳選擇,因為花費 30 分鐘只為了縮短 5 公里的路程,並非明智的取捨。

設定行程的路線規劃策略後,除非行程結束,否則不會變更。如要變更現有行程的路徑規劃策略,您必須清除目的地,然後使用新的路徑規劃策略重新設定。

取得路線詳細資料

如要判斷哪種路線策略是特定路線點的最佳選擇,請呼叫 getRouteInfo(),取得預設最佳路線和絕對較短路線的路線詳細資料。詳細資料包括所需時間和到達目的地路線控點的距離。

這些詳細資料來自 RouteInfo,並以 ListenableResultFuture 傳回。

範例

以下程式碼範例示範如何取得兩種路徑設定策略的路徑詳細資料。

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

設定轉送策略

您可以在呼叫 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);

路線標示格式

在較短路線偏好設定下,沿路的說明會顯示距離詳細資料。但您可以改用到達時間資訊。

設定路線標示格式

您可以在 NavigationView (或 NavigationFragment) 中呼叫 setRouteCalloutInfoFormat,藉此變更路線標示格式。setRouteCalloutInfoFormat 會採用下列其中一個列舉值:

列舉值說明
RouteCalloutInfoFormat.DEFAULT 顯示使用預設最佳路線導航策略時的剩餘時間。顯示使用較短路徑路徑規劃策略時剩餘的距離。
RouteCalloutInfoFormat.TIME 顯示剩餘時間。
RouteCalloutInfoFormat.DISTANCE 顯示剩餘距離。

範例

以下程式碼範例示範如何設定路線說明格式。

mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);