路線計算作業 (包括重新導航) 會傳回最短的導航時間,做為預設最佳路線。但 您可以變更轉送策略 就會改為傳回替代字元。
「較短」一詞是指根據預設成本模型,在所有最佳路線中,最短的路線。較短的路線可能不是絕對 最短的路線,因為該選項可能不是理想的替代方式。舉例來說,如果最短路線長度為 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);
路線標示格式
在較短路線偏好設定下,路線上的說明會顯示距離詳細資料。但您可以改用到達時間資訊。
設定路線標示格式
呼叫 setRouteCalloutInfoFormat
即可變更路線摘要格式
在 NavigationView
(或 NavigationFragment
) 中。setRouteCalloutInfoFormat
請使用下列其中一個列舉值:
列舉值 | 說明 |
---|---|
RouteCalloutInfoFormat.DEFAULT | 顯示使用預設最佳路線導航策略時的剩餘時間。使用較短的路線時,顯示剩餘距離 策略。 |
RouteCalloutInfoFormat.TIME | 顯示剩餘時間。 |
RouteCalloutInfoFormat.DISTANCE | 顯示剩餘距離。 |
範例
以下程式碼範例示範如何設定路線說明格式。
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);