提供控制導覽方法的單例模式。
所有方法都保證為執行緒安全,但將在 UI 執行緒上呼叫 setAudioGuidance 和 setHeadsUpNotificationEnabled 除外。
巢狀類別摘要
Navigator.ArrivalListener | 定義司機抵達路線控點時呼叫的方法簽章。 | ||
@interface | Navigator.AudioGuidance | 語音指引是一組標記,用來指定導航期間要使用哪些類型的音訊快訊和指引。 | |
Navigator.RemainingTimeOrDistanceChangedListener | 定義在下一個目的地變更的剩餘時間或距離時,呼叫方法的簽章。 | ||
Navigator.RouteChangedListener | 定義在路線變更時呼叫的方法簽章。 | ||
列舉 | Navigator.RouteStatus | RouteStatus 是一種狀態碼,代表路線計算的結果,可透過 setDestination(Waypoint) 傳回的 Future 存取。 |
公用方法摘要
公用方法
public 摘要 void clearDestinations ()
清除先前設定的所有目的地,並移除任何計算的路線。如果導航正在執行,這項功能會自動停止。
public 抽象 void clearLicensePlateRestrictionInfo ()
清除目前駕駛的車牌資訊。這只會套用至設定這個值之後發出的 setDestination 呼叫。
public 摘要 void clearRemainingTimeOrDistanceChangedListener ()
清除事件監聽器,瞭解剩餘時間或距離的變化。
public 抽象 Waypoint continueToNextDestination ()
移除目前的目的地。呼叫結束後,指引將轉至下一個目的地,而無法取得舊目的地的相關資訊。
傳回
- 路線控點現在朝向前進;如果沒有其他路線控點,則傳回 null
public 抽象 ListenableResultFuture<RouteInfo> fetchRouteInfo (Waypoint 路線控點、RoutingOptionsrouteOptions)
根據每個 RoutingOptions.RoutingStrategy
值傳迴路線的路線資訊。系統會忽略 RoutingOptions.RoutingStrategy
,因為這個方法會傳回所有轉送策略的路徑資訊。
注意:系統會在每次呼叫時重新計算這個值,而且可能不會與導航目前使用的路徑相符,因為流量和其他因素可能在此期間已更新。
參數
途經點 | 路線的終點航點 |
---|---|
routingOptions | 用來擷取路線資訊的選項 |
傳回
- 傳回的未來
公開 抽象 RouteSegment getCurrentRouteSegment ()
傳回旅程目前的路段。這個 RouteSegment 會將初始位置設為裝置最近的已知 (道路插入) 位置。
傳回
- 路線路段物件;如果沒有目前路線,則傳回
null
公開 抽象 TimeAndDistance getCurrentTimeAndDistance ()
傳回從目前位置到目前目的地的預估時間和距離。
傳回
- 時間和距離物件;如果沒有目前路線,則傳回
null
公開 摘要 List<TimeAndDistance> getTimeAndDistanceList ()
傳回目前路線中每個目的地對應的時間和距離清單,代表目前位置與各個目的地之間的預估時間和距離。
公用 抽象 List<LatLng> getTraveledRoute ()
傳回在這個導航工作階段中,到目前為止行駛的路線 (自上次呼叫 startGuidance()
以來)。路線記錄的路線是由 RoadSnappedLocationProvider
傳回的道路封閉地點,並簡化以移除多餘的點,例如將連續的共線點轉換成單一線段。
public 抽象 布林值 isGuidanceRunning ()
如果目前執行中的導引,則傳回 true
。請注意,系統只有在計算前往目的地的路徑且呼叫 startGuidance()
時,才會執行指引。
Public 抽象 void setArrivalListener (Navigator.ArrivalListener 事件監聽器)
註冊抵達事件的事件監聽器。覆寫任何先前註冊的事件監聽器。
注意:為了避免記憶體流失,應在不再需要事件監聽器時呼叫 setNavArrivalListener(null)
。
參數
事件監聽器 | 要註冊的事件監聽器。設為 null 可清除先前註冊的事件監聽器。 |
---|
public void void setAudioGuidance (參考指南)
設定要啟用的音訊導引類型 (包括震動)。根據預設,藍牙會啟用震動、語音和語音功能 (如果有的話)。
您必須在 UI 執行緒上呼叫這個方法。
參數
提供指引。 | 合併使用 Navigator.AudioGuidance 旗標,指定應啟用哪些類型的音訊指引
|
---|
public 抽象 ListenableResultFuture<Navigator.RouteStatus> setDestination (Waypoint 目的地、RoutingOptions routeOptions、DisplayOptions displayOptions)
設定單一導覽目的地,覆寫任何先前設定的目的地。如果系統找到從使用者位置到指定目的地的路線,傳回的未來就會設為 OK
。
參數
目的地 | 要設定的新目的地 |
---|---|
routingOptions | 用來產生路線的選項 |
displayOptions | 用於顯示路線的選項 |
傳回
- 回訪的未來
擲回
NullPointerException | 如果指定目的地為空值 |
---|
public 抽象 ListenableResultFuture<Navigator.RouteStatus> setDestination (Waypoint 目的地、RoutingOptions 選項)
設定單一導覽目的地,覆寫任何先前設定的目的地。如果系統找到從使用者位置到指定目的地的路線,傳回的未來就會設為 OK
。系統會使用預設的 DisplayOptions
顯示路徑。
參數
目的地 | 要設定的新目的地 |
---|---|
選項 | 用來產生路線的選項 |
傳回
- 回訪的未來
擲回
NullPointerException | 如果指定目的地為空值 |
---|
public 抽象 ListenableResultFuture<Navigator.RouteStatus> setDestination (Waypoint 目的地)
設定單一導覽目的地,覆寫任何先前設定的目的地。如果系統找到從使用者位置到指定目的地的路線,傳回的未來就會設為 OK
。系統會使用預設的 RoutingOptions
尋找路線,並使用預設的 DisplayOptions
顯示路線。
參數
目的地 | 要設定的新目的地 |
---|
傳回
- 回訪的未來
擲回
NullPointerException | 如果指定目的地為空值 |
---|
公開 抽象 ListenableResultFuture<Navigator.RouteStatus> setDestinations (List<Waypoint> 目的地、RoutingOptions 選項)
設定多個導覽目的地,覆寫任何先前設定的目的地。如果系統找到從使用者位置到指定目的地的路線,傳回的未來就會設為 OK
。系統會使用預設的 DisplayOptions
顯示路徑。
參數
目的地 | 要設定的新目的地清單 |
---|---|
選項 | 用來產生路線的選項 |
傳回
- 傳回的未來
public 抽象 ListenableResultFuture<Navigator.RouteStatus> setDestinations (List<Waypoint> 目的地、RoutingOptionsrouteOptions、DisplayOptions displayOptions)
設定多個導覽目的地,覆寫任何先前設定的目的地。如果系統找到從使用者位置到指定目的地的路線,傳回的未來就會設為 OK
。
參數
目的地 | 要設定的新目的地清單 |
---|---|
routingOptions | 用來產生路線的選項 |
displayOptions | 用於顯示路線的選項 |
傳回
- 傳回的未來
公開 抽象 ListenableResultFuture<Navigator.RouteStatus> setDestinations (清單<Waypoint> 目的地)
設定多個導覽目的地,覆寫任何先前設定的目的地。如果系統找到從使用者位置到指定目的地的路線,傳回的未來就會設為 OK
。系統會使用預設的 RoutingOptions
尋找路線,並使用預設的 DisplayOptions
顯示路線。
參數
目的地 | 要設定的新目的地清單 |
---|
傳回
- 傳回的未來
public 抽象 void setHeadsUpNotificationEnabled (boolean enabled)
設定是否應顯示抬頭通知。根據預設,系統會啟用通知。抬頭事件是指在沒有地圖的情況下顯示的指引事件,例如轉彎等等。
您必須在 UI 執行緒上呼叫這個方法。
參數
已啟用 | 表示是否應啟用抬頭通知的標記 |
---|
public 抽象 void setLicensePlateRestrictionInfo (int rawLicensePlateLastDigit, String LicensePlateCountryCode)
設定目前駕駛的車牌資訊。這樣我們就能依據車牌號碼,繞過特定類型的道路限制。這只會套用至設定這個值之後發出的 setDestination 呼叫。建議您在取得導航器後,立即呼叫此方法。
參數
rawLicensePlateLastDigit | 車牌的最後一個數字 (必須介於 0 到 9 之間)。 |
---|---|
licensePlateCountryCode | 我們日後可能會支援印尼 (ID) 和巴西 (BZ) 其他支援,如有需要,您可以主動提供這項資訊。 |
公開 抽象 void setRemainingTimeOrDistanceChangedListener (int timeChangeThresholdSeconds、intDistanceChangeThresholdMeters、Navigator.RemainingTimeOrDistanceChangedListener事件監聽器)
註冊事件監聽器,瞭解目的地的剩餘時間或距離變更時間超過指定門檻的時間。覆寫任何先前註冊的事件監聽器。
呼叫事件監聽器的原因可能是使用者移動、路況變更、路線變更、目的地變更,或已知剩餘時間和距離出現的原因。
注意:為了避免記憶體流失,應在不再需要事件監聽器時呼叫 clearNavProgressionListener()
。
參數
timeChangeThresholdSeconds | 如果剩餘時間 (以秒為單位) 的絕對變化大於或等於這個值,系統就會呼叫事件監聽器。這個門檻不得為負數。 |
---|---|
distanceChangeThresholdMeters | 如果剩餘距離 (以公尺為單位) 的絕對變化大於或等於這個值,系統就會呼叫事件監聽器。這個門檻不得為負數。 |
事件監聽器 | 要註冊的事件監聽器。不得為 null 。
|
公開 抽象 void setRouteChangedListener (Navigator.RouteChangedListener事件監聽器)
註冊路線變更事件的事件監聽器。覆寫任何先前註冊的事件監聽器。
注意:為了避免記憶體流失,應在不再需要事件監聽器時呼叫 setNavRouteChangeListener(null)
。
參數
事件監聽器 | 要註冊的事件監聽器。設為 null 可清除先前註冊的事件監聽器。 |
---|
public 抽象 void setSpeedingListener (SpeedingListener SpeedingListener)
針對駕駛目前駕駛時速限,註冊 SpeedingListener
的百分比。
如果設定 null
SpeedingListener
或不設定任何值,你就不會收到任何高速的動態饋給資料。
參數
speedingListener |
---|
public void startGuidance (IntentResumeIntent)
與 startGuidance()
相同,但請指定可用於從導覽器狀態列通知重新啟用應用程式的意圖。如果沒有這項意圖,就無法從狀態列恢復應用程式。
參數
resumeIntent | 用於恢復應用程式的意圖。在大多數情況下,android.app.Activity#getIntent() 傳回的值會較理想。 |
---|
public 摘要 void startGuidance ()
如果已設定目的地且會計算路徑,請啟動路線的即時路線導航指引。如果路線尚未計算,即時路線指引功能會在完成後啟動。
您必須明確呼叫 stopGuidance() 才能停止導航服務。導航服務抵達後不會自動停止。如要在抵達時停止導航服務,必須在 NavArrivalListener 中呼叫 stopGuidance()。
注意:這個方法不會變更 Camera
的位置。
public 摘要 void stopGuidance ()
停止即時路線導航。