導航

公用介面 導覽器

提供控制導覽方法的單例模式。

所有方法都保證為執行緒安全,但將在 UI 執行緒上呼叫 setAudioGuidance 和 setHeadsUpNotificationEnabled 除外。

巢狀類別摘要

Navigator.ArrivalListener 定義司機抵達路線控點時呼叫的方法簽章。
@interface Navigator.AudioGuidance 語音指引是一組標記,用來指定導航期間要使用哪些類型的音訊快訊和指引。
Navigator.RemainingTimeOrDistanceChangedListener 定義在下一個目的地變更的剩餘時間或距離時,呼叫方法的簽章。
Navigator.RouteChangedListener 定義在路線變更時呼叫的方法簽章。
列舉 Navigator.RouteStatus RouteStatus 是一種狀態碼,代表路線計算的結果,可透過 setDestination(Waypoint) 傳回的 Future 存取。 

公用方法摘要

抽象 void
cleanup()
清除導覽器內部狀態。
抽象 void
clearDestinations()
清除先前設定的所有目的地,並移除任何計算的路線。
抽象 void
clearLicensePlateRestrictionInfo()
清除目前駕駛的車牌資訊。
抽象 void
clearRemainingTimeOrDistanceChangedListener()
清除事件監聽器,瞭解剩餘時間或距離的變化。
Waypoint
continueToNextDestination()
移除目前的目的地。
ListenableResultFuture<RouteInfo>
fetchRouteInfo(Waypoint 路線控點、RoutingOptions routeOptions)
根據每個 RoutingOptions.RoutingStrategy 值傳迴路線的路線資訊。
RouteSegment
getCurrentRouteSegment()
傳回旅程目前的路段。
TimeAndDistance
getCurrentTimeAndDistance()
傳回從目前位置到目前目的地的預估時間和距離。
摘要 List<RouteSegment>
getRouteSegments()
傳迴路線線段清單。
模擬器
getSimulator()
傳回模擬器物件,供測試期間使用。
摘要 List<TimeAndDistance>
getTimeAndDistanceList()
傳回目前路線中每個目的地對應的時間和距離清單,代表目前位置與各個目的地之間的預估時間和距離。
摘要 List<LatLng>
getTraveledRoute()
傳回此導航工作階段中到目前為止行駛的路線 (自上次呼叫 startGuidance() 以來)。
抽象 布林值
isGuidanceRunning()
如果目前執行中的導引,則傳回 true
抽象 void
setArrivalListener(Navigator.ArrivalListener 事件監聽器)
註冊抵達事件的事件監聽器。
抽象 void
setAudioGuidance(工具指引)
設定要啟用的音訊導引類型 (包括震動)。
抽象 ListenableResultFuture<Navigator.RouteStatus>
setDestination(Waypoint 目的地、RoutingOptions routeOptions、DisplayOptions displayOptions)
設定單一導覽目的地,覆寫任何先前設定的目的地。
抽象 ListenableResultFuture<Navigator.RouteStatus>
setDestination(Waypoint 目的地、RoutingOptions 選項)
設定單一導覽目的地,覆寫任何先前設定的目的地。
抽象 ListenableResultFuture<Navigator.RouteStatus>
setDestination(Waypoint 目的地)
設定單一導覽目的地,覆寫任何先前設定的目的地。
抽象 ListenableResultFuture<Navigator.RouteStatus>
抽象 ListenableResultFuture<Navigator.RouteStatus>
setDestinations(List<Waypoint> 目的地、RoutingOptionsrouteOptions、DisplayOptions displayOptions)
設定多個導覽目的地,覆寫任何先前設定的目的地。
抽象 ListenableResultFuture<Navigator.RouteStatus>
setDestinations(List<Waypoint> 目的地)
設定多個導覽目的地,覆寫任何先前設定的目的地。
抽象 void
setHeadsUpNotificationEnabled(已啟用布林值)
設定是否應顯示抬頭通知。
抽象 void
setLicensePlateRestrictionInfo(int rawLicensePlateLastDigit, String LicensePlateCountryCode)
設定目前駕駛的車牌資訊。
抽象 void
setRemainingTimeOrDistanceChangedListener(int timeChangeThresholdSeconds、intDistanceChangeThresholdMeters、Navigator.RemainingTimeOrDistanceChangedListener 事件監聽器)
註冊事件監聽器,瞭解目的地的剩餘時間或距離變更時間超過指定門檻的時間。
抽象 void
setRouteChangedListener(Navigator.RouteChangedListener事件監聽器)
註冊路線變更事件的事件監聽器。
抽象 void
setSpeedingListener(SpeedingListener speedingListener)
針對駕駛目前駕駛時速限,註冊 SpeedingListener
抽象 void
startGuidance(IntentResumeIntent)
startGuidance() 相同,但請指定可用於從導覽器狀態列通知重新啟用應用程式的意圖。
抽象 void
startGuidance()
如果已設定目的地且會計算路徑,請啟動路線的即時路線導航指引。
抽象 void
stopGuidance()
停止即時路線導航。

公用方法

公開 抽象 void cleanup ()

清除導覽器內部狀態。

注意:呼叫此方法會取消所有傳送至 setDestinations(List) 的待處理要求。

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<RouteSegment> getRouteSegments ()

傳迴路線線段清單。每個傳回片段的目的地都會對應至 setDestination 設定的目的地。

公開 抽象 模擬器 getSimulator ()

傳回模擬器物件,供測試期間使用。

公開 摘要 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 ()

停止即時路線導航。