常見問題

產品詳細資料

網路

資料

使用者介面自訂

轉送

模擬器

Workflows

產品詳細資料

應用程式必須實作含有 Navigation SDK 服務條款通知的對話方塊,且使用者必須接受。這個對話方塊讓使用者有機會同意《服務條款》。系統會透過 Navigation SDK 提供條款的文字檔案。使用 NavigationApi.showTermsAndConditionsDialog 方法顯示含有字詞的對話方塊。
Google 地圖行動版支援的任何語言都會自動提供給 Navigation SDK。裝置具有預設系統語言,且應用程式無法變更該設定;然而,應用程式可以存取超過 70 種語言。

是,啟動後,LocationListener 會繼續在背景執行。您的應用程式會繼續在路上貼齊位置,並維持方位。

是,路徑建立或變更時,RouteChangeListener 會提供折線。

不需要,裝置不必安裝 Google 地圖 Mobile,Navigation SDK。
不可以,Navigation SDK 目前不提供這項功能。
可以。根據預設,系統會顯示車流量方向。
Navigation SDK 支援哪些 JDK 版本?
Navigation SDK 支援 Oracle 主動支援的 Java SE 版本。在 Oracle Java SE 支援藍圖中,這些版本會列為菁英支援

網路

Navigation SDK 如何處理連線品質不佳的問題?
Navigation SDK 會預先快取每個歷程的路徑。預先快取資訊包含 15 至 20 分鐘的轉送資訊,以及使用者偏離路徑時的路徑替代方式。Navigation SDK 會使用裝置 GPS 和感應器概略位置。
可以使用離線模式嗎?
不可以,Navigation SDK 目前不提供離線模式,但 SDK 會提供旅程的預先快取資訊。

資料

在開始路線之前,可以擷取旅程中的所有停靠站/目的地嗎?

是,如要擷取路線的路線,請呼叫 Navigator.getRouteSegments()

路線起點是否提供即時路線指引?
可以。Navigation SDK 提供路徑區段清單。此外,使用者只要滑動標頭中的路線資訊卡,即可查看各個動作。
預計到達時間如何提供給應用程式使用者?

請按照下列步驟將預計到達時間資訊提供給應用程式使用者:

  1. 使用 Navigator.getTimeAndDistanceList() 擷取所有路線控點的時間和距離。
  2. 按照駕駛預計到達時間的方式,將這項資訊轉送至用戶端應用程式。
如果在前景並非導航畫面,可以使用 RoadSnappedLocationProvider 取得使用者目前的貼齊位置嗎?

是,根據預設,RoadSnappedLocationProvider 會在背景執行。

Navigation SDK 支援地理圍欄嗎?

否。在導航中,remainingTimeOrdistanceChangeListener 較地理圍欄沒有優勢。地理圍欄可能不會將道路幾何圖形納入考量,也無法以使用者所前往的確切地點為中心。

您可以使用 remainingTimeOrdistanceChangeListener 來估算這項功能。

  1. 設定門檻以決定回呼的頻率。
  2. 查看前往目的地的剩餘距離。

舉例來說,如果您將門檻設為 100 公尺,當前往目的地的距離變 100 公尺時,就會收到回呼。隨著距離減少,您可以將這個門檻更新為較小的值,並接收更頻繁的回呼。接著,檢查剩餘的距離,判斷您能否接近上車/下車地點。

導航應用程式在背景執行時,我可以停用通知功能嗎?

是,請使用 Navigator.setHeadsUpNotificationEnabled 控制通知。這個方法包含布林值引數。FALSE 會停用通知,TRUE 則會啟用通知。

交易記錄工具會以專屬 ID 追蹤上車和下車情況,Google 會記錄此 ID 供產品分析之用。如果您是行動性服務客戶,Google 建議您實作 NavigationTransactionRecorder 以記錄交易記錄。

使用者介面自訂

可以為最佳路線選項加上顏色嗎?
不可以,系統目前不支援為特定路線選項加上顏色標示。
Navigation SDK 能否顯示最終目的地的預計到達時間?

是,請使用下列方法:

  1. 使用 Navigator.getTimeAndDistanceList() 擷取所有路線控點的時間和距離。
  2. 使用 NavigationFragment.setEtaCardEnabled(false) 隱藏目前路線控點的預計到達時間。
  3. 轉譯最終目的地預計到達時間。
如何隱藏預計到達時間?

如要停用預計到達時間資訊卡,請呼叫 navigationView.setEtaCardEnabled(false)

頁首和頁尾資訊卡提供哪些使用者介面自訂設定?

使用 StylingOptions 可設定背景顏色樣式。如要隱藏或顯示頁首和頁尾,請使用 NavigationFragmentsetHeaderEnabledsetFooterEnabled 成員函式。

轉送

我可以為使用者提供特定路線或移除替代路線嗎?
不會。根據預設,系統會提供多條路線,且最快路線的優先順序較高。您也可以在要求中加入「避開高速公路和收費站」等偏好設定,藉此影響預設路線。新增路線控點也會影響路線。
我是否可以為應用程式使用者顯示與目的地和預設目的地位置不同的標籤?

是,請建立含有目的地和經緯度自訂標題的 Marker。Navigation SDK 會在 NavigationMap 上顯示自訂標題和座標。

我可以使用 Navigation SDK 追蹤已定義路徑的偏差嗎?

是,使用 Navigator.setRouteChangedListener,即可在路線變更或建議採用新路線時收到通知:

  1. 使用 Navigator.setRouteChangedListener 方法註冊會檢查路線沿途裝置位置的事件監聽器。
  2. 將程式碼新增至回呼事件處理常式 onRouteChanged
    • 傳送訊息給應用程式使用者,並提供最新的預計到達時間和距離資訊。
    • 追蹤裝置的位置。
    • [選用] 新增應用程式所需的其他功能,以便在使用者離開指定路徑時處理。
使用者能否在不完成路線的情況下結束導航?

是,呼叫 Navigator.stopGuidance() 方法即可停止導航。

模擬器

模擬工具支援路線變更嗎?

是,呼叫 simulateLocationsAlongNewRoute 即可模擬包含路線變更的歷程。simulateLocationsAlongExistingRoute 方法會忽略現有路徑的變更。

Workflows

如何在關閉含有導覽片段的活動後關閉通知?

當活動關閉時,導航通知仍會顯示。車輛抵達目的地後,導航停止,通知就會消失。

如要處理通知的點擊,請使用 Navigator.startGuidance(intent resumeIntent)resume intent 會在應用程式使用者點選通知時觸發。一般而言,系統會從主要活動呼叫 Navigator.startguidance(getIntent()),應用程式會在使用者點選通知時喚回 Activity。