路線計算 (包括重新規劃路線) 會傳回導航時間最短的路線,做為預設最佳路線。不過,您可以變更路線規劃策略,改為傳回較短的替代路線。
「較短」是指根據預設成本模型,在最佳路線中最短的路線。較短路線不一定是「絕對」最短路線,因為該選項可能不是理想的替代方案。舉例來說,如果絕對最短路線為 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);
包含渡輪的路徑
根據預設,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);