調整轉送偏好設定

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

「較短」是指根據預設費用模型,在最佳路徑中距離最短的路徑。較短路線可能不是絕對最短路線,因為該選項可能不是理想的替代路線。舉例來說,如果最短路線為 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);