常見問題
產品特性
- Navigation SDK 條款應採取的做法 是否顯示服務通知?
- 語音導引支援哪些語言?
- 駕駛人能否繼續控制方向? 會結束導航模式嗎?
- 開始時是否可使用折線 或是要變更路線?
- 應用程式使用者是否需要使用 Google 地圖 行動裝置?
- 可以支援 Navigation SDK 找出餐廳和其他目的地附近的停車位置?
- 導覽 SDK 是否 接近轉彎點時顯示車道的車流方向嗎?
- 哪個 Navigation SDK API 是否只應供行動性服務客戶使用?
問題
網路
資料
- 我可以擷取 在出發前,先在旅途中停靠停靠站/目的地?
- 提供即時路線指引嗎? 怎麼行?
- 預計抵達時間為何? (ETA) 是否已傳達給應用程式使用者?
- 可以
RoadSnappedLocationProvider
以便取得 導航功能不在前景執行時,目前對齊的位置為何? - 導覽 SDK 是否 是否支援地理圍欄?
- 我可以在下列情況停用通知嗎? 導航應用程式是否會在背景執行?
UI 自訂
轉送
- 我可以提供特定路徑 或是移除替代路線?
- 可以為司機顯示不同的標籤嗎? 而非預設目的地位置?
- 可以使用 Navigation SDK 追蹤從已定義路徑的偏差?
- 駕駛是否在沒有指示的情況下退出導航? 建議路線?
模擬工具
工作流程
- 如何在關閉含有 導覽片段?(僅限 Android) ,瞭解如何調查及移除這項存取權。
產品特性
- 您的應用程式必須實作含有 Navigation SDK 條款的對話方塊 所有司機都必須接受的服務通知。這個對話方塊會提供驅動程式 您必須同意《服務條款》。字詞的文字檔案 內建 Navigation SDK
- 在 Android 中,使用
NavigationApi.showTermsAndConditionsDialog
方法,以顯示含有字詞的對話方塊。 ,瞭解如何調查及移除這項存取權。
- 若在 iOS 中,請致電
GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName
。 - Google 地圖行動版支援的所有語言都會自動 適用於 Navigation SDK 裝置採用預設系統語言,且應用程式無法變更該設定。不過 應用程式提供超過 70 種語言。
-
可以。在 Android 中,啟動後
LocationListener
會繼續 在背景中執行您的應用程式會繼續靠邊對齊,並維持在 iOS 中,可持續接收位置更新通知。 在背景中,實作道路貼齊
allowsBackgroundLocationUpdates
到YES
。 -
可以。建立或變更路徑時,
RouteChangeListener
可提供折線。 - 不需要,Navigation SDK 不需要 Google Maps Mobile 安裝到裝置上。
- 否,Navigation SDK 不提供這項功能 讓應用程式從可以最快做出回應的位置 回應使用者要求
- 可以。根據預設,系統會顯示車流量方向。
- 哪個 Navigation SDK API 是否僅供行動性服務客戶使用?
-
Navigation SDK 中有些 API 僅供行動性服務客戶使用,Google 會根據每筆交易收費。如果您不是行動管理服務的客戶,則以下為免人工管理的方法:
問題
- 在 Xcode 12 中,無法正確建構要用於模擬工具的應用程式,如何修復此問題?
-
如要解決這個問題,請開啟 Xcode 專案版本設定,然後只針對「iOS 模擬工具」版本,將
arm64
新增到Excluded Architectures
。詳情請參閱下列 StackOverflow 討論串。
- GMSMapView 未載入。
-
如果 GMSMapView 未載入:
- 檢查 Cloud 控制台是否已啟用 NavSDK。
- 如果已安裝 Nav SDK,但專案並未使用 Nav SDK API,請將其從二進位檔中移除。
網路
- Navigation SDK 如何處理連線品質不佳的問題?
- Navigation SDK 會預先快取每個歷程的路徑。 預先快取的資訊包括 15 到 20 分鐘的轉送資訊 和替代路線。 Navigation SDK 會使用裝置 GPS 和 感應器。
- 可以使用離線模式嗎?
- 否,Navigation SDK 不提供 離線模式;但 SDK 會提供預先快取的資訊 一段旅程
資料
- 我可以在開始之前,擷取旅程中的所有停靠站/目的地嗎? 路線?
-
可以。在 Android 中,若要擷取路線的路線,請呼叫
Navigator.getRouteSegments()
。在 iOS 中,呼叫
GMSNavigator.routeLegs(read)
。 - 路線起點是否提供即時路線指引?
- 可以。Navigation SDK 提供路徑區段清單。 此外,駕駛員也可以滑動標頭中的路線卡。 以查看每部電影
- 系統如何向應用程式使用者告知預計到達時間?
-
在 Android 中,請按照下列步驟為應用程式使用者提供預計到達時間資訊:
- 使用
Navigator.getTimeAndDistanceList()
。 - 以您本人的方式,將這項資訊轉送至用戶端應用程式 目前的行駛路線為司機預計到達時間。
如果是 iOS 裝置,請按照下列步驟提供預計到達時間資訊給應用程式使用者:
- 使用
Navigator.getRouteSegments()
。 - 為每個旅程路段呼叫
GMSNavigator.timeToNextDestination
。 - 像您一樣,將時間資訊轉送至用戶端應用程式 目前的行駛路線為司機預計到達時間。
- 使用
-
可以使用
RoadSnappedLocationProvider
取得駕駛的 導航功能不在前景執行時,目前對齊的位置 -
可以。在 Android 中,
RoadSnappedLocationProvider
會在 背景播放。如要在 iOS 中繼續在背景執行導航,請實作事件監聽器 為
GMSRoadSnappedLocationProviderListener
,並設定 將屬性allowsBackgroundLocationUpdates
重新命名為TRUE
。 - Navigation SDK 支援地理圍欄嗎?
-
否。在導覽中,
remainingTimeOrdistanceChangeListener
具有比單純的地理圍欄優勢地理圍欄可能未考量到 道路幾何圖形,可能無法以 駕駛正在導航。您可以使用
remainingTimeOrdistanceChangeListener
。- 設定門檻以決定回呼的頻率。
- 查看前往目的地的剩餘距離。
舉例來說,如果您將門檻設為 100 公尺 您與目的地之間的距離變更時,您就會收到回呼 大約需要 100 公尺隨著距離逐漸下降,您可以將這個閾值更新為較小的 值,並更頻繁地收到回呼。接著再檢查剩餘的距離 判斷你能否靠近上車/下車地點。
在 iOS 中,導入事件監聽器
GMSNavigatorListener.didUpdateRemainingDistance
管理通知之間的距離。 - 導航應用程式在背景執行時,我可以停用通知功能嗎?
-
可以。在 Android 中,使用
Navigator.setHeadsUpNotificationEnabled
控管通知。這個方法包含布林值引數。FALSE
停用通知;TRUE
會啟用通知。在 iOS 上, 正在設定「
GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdates
」 改為 NO如要停用其他位置資訊通知的背景處理功能,請撥打
GMSNavigator.sendsBackgroundNotifications(NO)
。
UI 自訂
- 可以為最佳路線選項加上顏色嗎?
- 不行,系統目前不支援為特定路線選項加上顏色標示。
- Navigation SDK 能否顯示最終目的地的預計到達時間?
-
可以。在 Android 中,使用下列方法:
- 使用
Navigator.getTimeAndDistanceList()
。 - 使用以下文字隱藏目前路線控點的預計到達時間:
NavigationFragment.setEtaCardEnabled(false)
。 - 轉譯最終目的地預計到達時間。
如果是 iOS 裝置,請使用:
- 呼叫
GMSNavigator.routeLegs(read)
。 - 最後一腳來,
GMSNavigator.timeToNextDestination
。 - 使用以下文字隱藏目前路線控點的預計到達時間:
MSMapView.settings.navigationFooterEnabled=NO
設為 FALSE。 - 轉譯最終目的地預計到達時間。
- 使用
- 如何隱藏預計到達時間?
-
您可以透過下列方法停用預計到達時間資訊卡:
- 在 Android 中,使用
navigationView.setEtaCardEnabled(false)
。 - 在 iOS 中,請使用
GMSMapView.settings.navigationFooterEnabled=NO
。
- 在 Android 中,使用
-
在 Android 中,您可以使用
StylingOptions
來設定背景 色彩樣式如要隱藏或顯示頁首和 頁尾,請使用setHeaderEnabled
和setFooterEnabled
個成員函式NavigationFragment
。在 iOS 中,請使用
GMSMapView.settings.navigationHeaderPrimaryBackgroundColor
可設定背景顏色樣式。如何隱藏或顯示頁首和頁尾 使用「navigationFooterEnabled
」 和GMSUISettings
的navigationHeaderEnabled
屬性。
轉送
- 我可以提供特定路徑 或是移除替代路線?
- 否。根據預設,會提供多條路線,且最快路線優先顯示。 若要調整預設路線,您可以新增偏好設定,例如「避免」 高速公路和收費站」。新增路線控點也會影響路線。
- 我可以為應用程式使用者顯示與目的地不同的標籤,而非預設標籤 目的地位置?
-
可以。在 Android 中,建立含有以下內容的
Marker
: 目的地和經緯度的自訂標題。 Navigation SDK 會顯示自訂標題和座標NavigationMap
。在 iOS 中,您可以建立並顯示目的地的
GMSMarker
。 - 我可以使用 Navigation SDK 追蹤已定義路徑的偏差嗎?
-
可以。在 Android 中,使用
Navigator.setRouteChangedListener
執行下列操作: 在路線變更或建議路線時接收通知:- 註冊用於檢查裝置沿著路線位置的事件監聽器
方法是使用
Navigator.setRouteChangedListener
方法 - 將程式碼新增至回呼事件處理常式
onRouteChanged
:- 傳送訊息給應用程式使用者,並提供最新的預計到達時間和距離資訊。
- 追蹤裝置的位置。
- [選用] 新增應用程式處理所需的其他功能 駕駛路線偏離事先規劃的路線時。
在 iOS 中,使用
GMSNavigator
和其事件監聽器來 在路線變更或建議路線時接收通知:- 在地圖的檢視控制器上,實作
GMSNavigatorListener
通訊協定和GMSRoadSnappedLocationProviderListener
通訊協定 - 導入設定
GMSNavigatorListener.navigatorDidChangeRoute
。 - 使用
routeLegs
和GMSNavigator
的currentRouteLeg
屬性。
- 註冊用於檢查裝置沿著路線位置的事件監聽器
方法是使用
-
可以。在 Android 中,呼叫
Navigator.stopGuidance()
方法即可 停止導航。在 iOS 中,呼叫
GMSNavigator.clearDestinations
。
模擬工具
- 模擬工具支援路線變更嗎?
-
可以。在 Android 中,呼叫
simulateLocationsAlongNewRoute
即可 模擬包含路線變化的歷程。simulateLocationsAlongExistingRoute
方法會忽略現有路徑的變更。在 iOS 中,請使用
GMSLocationSimulator.simulateAlongNewRouteToDestinations
模擬包含路線變化的歷程。如果您不預期 任何路線改變時,您可以使用GMSLocationSimulator.simulateLocationsAlongExistingRoute
或GMSLocationSimulator.simulateAlongNewRouteToDestinations
。
工作流程
- 如何在關閉含有 導覽片段?
-
導航期間,導航通知會保持顯示。 活動關閉時。車輛抵達 目的地、導航停止,且通知就會消失。
如要處理通知的點擊,請使用
Navigator.startGuidance(intent resumeIntent)
。resume intent
會在應用程式使用者點選通知時觸發。 一般而言,Navigator.startguidance(getIntent())
是從 主要 Activity,也就是應用程式使用者點選通知時的活動。