常見問題
產品詳細資料
- 如何顯示 Navigation SDK 服務條款通知?
- 語音導覽支援哪些語言?
- 使用者退出導航模式時,是否會維持方位?
- 開始或變更路線時,是否可以使用折線?
- 應用程式使用者是否需要安裝 Google 地圖行動版?
- Navigation SDK 能否識別餐廳和其他目的地附近的停車位?
- Navigation SDK 是否會在接近轉彎處時,顯示車道中的車流方向?
- Navigation SDK 支援哪些版本的 JDK?
網路和連線
資料
- 我可以在開始路線前,擷取行程中的所有停靠點/目的地嗎?
- 路線開始時是否提供即時路線導航?
- 如何向應用程式使用者傳達預計抵達時間 (ETA)?
- 如果導航功能不在前景,是否可以使用
RoadSnappedLocationProvider
取得使用者目前的對齊位置? - Navigation SDK 是否支援地理圍欄?
- 導航應用程式在背景執行時,我可以停用通知嗎?
- 如何查看 Google 保留的交易記錄?
UI 自訂
轉送
- 我可以為使用者提供特定路線或移除替代路線嗎?
- 我可以向使用者顯示與預設目的地位置不同的目的地標籤嗎?
- 我可以使用 Navigation SDK 追蹤偏離定義路徑的情況嗎?
- 使用者可以在未完成路線的情況下結束導航嗎?
模擬工具
工作流程
車用機動力服務
- 行動服務客戶使用 Navigation SDK 時有何不同?
- 如何判斷自己是否為 Mobility Services 客戶?
- 行動服務客戶的 Navigation SDK 如何計費?
- 哪些 Navigation SDK API 只能供 Mobility Services 客戶使用?
- 如果我是 Mobility Services 客戶,是否也能使用 Navigation SDK 的非 Mobility Services 實作方式?
產品詳細資料
-
應用程式必須導入對話方塊,顯示 Navigation SDK 服務條款通知,且每位使用者都必須接受。這個對話方塊可讓使用者同意《服務條款》。Navigation SDK 隨附條款的文字檔案。使用
NavigationApi.showTermsAndConditionsDialog
方法顯示含有條款的對話方塊。 - Navigation SDK 會自動支援 Google 地圖行動版支援的所有語言。 裝置有預設系統語言,應用程式無法變更這項設定,但應用程式可存取超過 70 種語言。
-
可以。啟動後,
LocationListener
會繼續在背景執行。應用程式會繼續將位置資訊對應到道路上,並維持方位。 -
可以。建立或變更路線時,
RouteChangeListener
會提供折線。 - 不需要,Navigation SDK 不要求裝置安裝 Google 地圖行動版。
- 否,Navigation SDK 目前不提供這項功能。
- 可以。系統預設會顯示流量方向。
- Navigation SDK 支援哪些版本的 JDK?
- Navigation SDK 支援 Oracle 積極支援的 Java SE LTS 版本。這些版本在 Oracle Java SE 支援路線圖中列為「主要支援」。
網路和連線
- Navigation SDK 如何處理網路連線品質不佳的問題?
- Navigation SDK 會預先快取每趟行程的路徑。 預先快取的資訊包括 15 到 20 分鐘的路線資訊,以及使用者偏離路線時的替代路線。Navigation SDK 會使用裝置的 GPS 和感應器,估算位置。
- Navigation SDK 如何處理 GPS 訊號不佳或中斷的情況?
-
導航開始後,Navigation SDK 至少會收到一次 GPS 訊號,並在下列情況顯示「正在搜尋 GPS...」訊息:
- 自上次收到 GPS 信號後已超過 10 秒。
- 如果路線位置自上次收到 GPS 訊號後移動超過 500 公尺。
如果 SDK 長時間未收到 GPS 訊號,應用程式中以山形箭頭位置表示的路線進度可能會減緩,直到完全停止。在這種情況下,地圖上的山形箭頭會停留在最後一個 GPS 訊號所指的位置。如果 SDK 未收到 GPS 訊號,不會自動結束導覽模式。不過,裝置可能要再次收到訊號,才能提供指引。
- 是否有離線模式?
- 否,Navigation SDK 目前不提供離線模式,但 SDK 會預先快取行程資訊。
資料
- 我可以在開始路線前,擷取行程中的所有停靠點/目的地嗎?
-
可以。如要擷取路線的路線資訊,請呼叫
Navigator.getRouteSegments()
。 - 路線開始時是否提供即時路線導航?
- 可以。Navigation SDK 會提供路段清單。此外,使用者還可以在標題中滑動路線資訊卡,查看每個動作。
- 如何向應用程式使用者傳達預計抵達時間?
-
如要向應用程式使用者提供預計抵達時間資訊,請按照下列步驟操作:
- 使用
Navigator.getTimeAndDistanceList()
擷取所有路線控點的時間和距離。 - 將這項資訊轉送至用戶端應用程式,做法與轉送司機預計抵達時間相同。
- 使用
-
如果導航功能不在前景,是否可以使用
RoadSnappedLocationProvider
取得使用者目前的位置資訊? -
可以。
RoadSnappedLocationProvider
預設會在背景執行。 - Navigation SDK 是否支援地理圍欄?
-
否。就導覽而言,
remainingTimeOrdistanceChangeListener
比地理圍欄更具優勢。地理圍欄可能不會考量道路幾何形狀,也不會以使用者導航的確切點為中心。您可以使用
remainingTimeOrdistanceChangeListener
模擬這項功能。- 設定門檻,決定回呼的頻率。
- 查看目的地剩餘距離。
舉例來說,如果將門檻設為 100 公尺,當與目的地的距離變更 100 公尺時,您就會收到回呼。距離縮短時,您可以將這個門檻更新為較小的值,並更頻繁地接收回呼。接著,請檢查剩餘距離,判斷你是否已接近取貨/還車地點。
- 導航應用程式在背景執行時,可以停用通知嗎?
-
可以。使用
Navigator.setHeadsUpNotificationEnabled
控管通知。這個方法會採用布林值引數。FALSE
停用通知;TRUE
啟用通知。 -
交易記錄器會使用專屬 ID 追蹤取貨和送達情形, Google 會記錄這些資訊,以進行產品分析。如果您是行動服務客戶,Google 建議您實作
NavigationTransactionRecorder
,記錄交易。
UI 自訂
- 我可以為最佳路線選項設定顏色嗎?
- 否。目前不支援為特定路線選項加上顏色。
- Navigation SDK 能否顯示最終目的地的預計抵達時間?
-
可以。請使用下列方法:
- 使用
Navigator.getTimeAndDistanceList()
擷取所有路線控點的時間和距離。 - 使用
NavigationFragment.setEtaCardEnabled(false)
隱藏目前中途點的預計到達時間。 - 顯示最終目的地的預計抵達時間。
- 使用
- 如何隱藏預計抵達時間更新?
-
您可以呼叫
navigationView.setEtaCardEnabled(false)
停用預計抵達時間資訊卡。 -
使用
StylingOptions
設定背景顏色樣式。如要隱藏或顯示頁首和頁尾,請使用NavigationFragment
的setHeaderEnabled
和setFooterEnabled
成員函式。
轉送
- 我可以為使用者提供特定路線或移除替代路線嗎?
- 否。系統預設會提供多條路線,並優先顯示最快的路線。 您可以在要求中加入偏好設定 (例如「避開高速公路和收費路段」),影響預設路線。新增途中的航點也會影響路線。
- 我可以向應用程式使用者顯示與預設目的地位置不同的目的地標籤嗎?
-
可以。建立
Marker
,並為目的地和經緯度自訂標題。Navigation SDK 會在NavigationMap
上顯示自訂標題和座標。 - 我可以使用 Navigation SDK 追蹤偏離定義路徑的情況嗎?
-
可以。使用
Navigator.setRouteChangedListener
在路線變更或系統建議新路線時接收通知:- 使用
Navigator.setRouteChangedListener
方法註冊事件監聽器,檢查路線上的裝置位置。 - 將程式碼新增至回呼事件處理常式
onRouteChanged
:- 向應用程式使用者傳送訊息,提供更新後的預計到達時間和距離資訊。
- 追蹤裝置位置。
- [選用] 新增應用程式所需的其他功能,以便在使用者偏離指定路線時處理相關情況。
- 使用
-
可以。呼叫
Navigator.stopGuidance()
方法即可停止導覽。
模擬工具
- 模擬器是否支援路線變更?
-
可以。呼叫
simulateLocationsAlongNewRoute
模擬包含路線變更的行程。simulateLocationsAlongExistingRoute
方法會忽略現有路徑的變更。
工作流程
- 關閉含有導覽片段的活動後,如何取消顯示通知?
-
導航通知會在導航期間保持顯示,即使活動已關閉也一樣。車輛抵達目的地時,導航會停止,通知也會消失。
如要處理通知的點擊事件,請使用
Navigator.startGuidance(intent resumeIntent)
。 應用程式使用者點選通知時,系統會觸發resume intent
。 通常,Navigator.startguidance(getIntent())
是從主要活動呼叫,當應用程式使用者點選通知時,系統會回呼活動。
車用機動力服務
Google 地圖平台行動服務提供一系列 API 和 SDK,可協助運輸和物流企業滿足需求。對於行動服務客戶,Navigation SDK 通常會與相關服務搭配使用,以進行路線最佳化、調度、工作追蹤、車隊分析等。行動服務客戶的 Navigation SDK 計費方式也不同。詳情請參閱 Mobility Services 說明文件。
目前只有特定客戶可以使用行動裝置產品。詳情請洽您的業務代表。
ReportBillableEvent
呼叫。只有 Mobility Services 客戶應呼叫 ReportBillableEvent
方法。
Navigation SDK 中有幾項 API 僅供 Mobility Services 客戶使用,Google 會按交易次數向這類客戶收費。如果您不是 Mobility Services 客戶,下列方法不會執行任何作業:
可以,車用機動力服務客戶可以同時使用 Navigation SDK 的車用機動力服務和非車用機動力服務實作。不過,應用程式一次只能使用一種導入類型。您也需要建立新的 Google Cloud 專案、帳單帳戶和 API 金鑰,與您用於 Mobility Services 實作的項目分開。詳情請參閱 Navigation SDK 設定總覽。
如要進一步瞭解如何使用 Navigation SDK 的非 Mobility Services 實作方式,包括將應用程式從一種實作類型遷移至另一種,請與您的 Google 帳戶代表聯絡。
注意:如果您目前不是行動服務客戶,但有興趣進一步瞭解行動服務 API 和 SDK 系列,請與 Google 地圖平台銷售團隊聯絡。