자주 묻는 질문(FAQ)
제품 정보
- Navigation SDK 서비스 약관 알림은 어떻게 표시되어야 하나요?
- 음성 안내는 어떤 언어를 지원하나요?
- 운전자가 내비게이션 모드를 종료할 때 방위가 유지되나요?
- 경로를 시작하거나 변경할 때 다중선을 사용할 수 있나요?
- 앱 사용자가 Google 지도 모바일을 설치해야 하나요?
- Navigation SDK가 음식점 및 기타 목적지 근처의 주차장을 식별할 수 있나요?
- Navigation SDK가 방향 전환 지점에 접근할 때 차선에 교통 방향을 표시하나요?
문제
네트워크
데이터
- 경로를 시작하기 전에 여정의 모든 정류장/목적지를 검색할 수 있나요?
- 경로를 시작할 때 세부 경로 안내를 사용할 수 있나요?
- 예상 도착 시간(ETA)은 앱 사용자에게 어떻게 전달되나요?
- 내비게이션이 포그라운드에 있지 않은 경우
RoadSnappedLocationProvider
를 사용하여 운전자의 현재 스냅 위치를 가져올 수 있나요? - Navigation SDK가 지오펜싱을 지원하나요?
- 내비게이션 앱이 백그라운드에 있을 때 알림을 사용 중지할 수 있나요?
UI 맞춤설정
- 최적의 경로 옵션에 색상을 지정할 수 있나요?
- Navigation SDK에서 최종 목적지의 도착예정시간을 표시할 수 있나요?
- 도착예정시간 업데이트를 숨기려면 어떻게 해야 하나요?
- 헤더 및 바닥글 카드에 어떤 UI 맞춤설정을 사용할 수 있나요?
라우팅
- 운전자에게 특정 경로를 제공하거나 대체 경로를 삭제할 수 있나요?
- 운전자에게 기본 목적지 위치와 다른 목적지 라벨을 표시할 수 있나요?
- Navigation SDK를 사용하여 정의된 경로에서의 편차를 추적할 수 있나요?
- 운전자가 경로를 완료하지 않고 내비게이션을 종료할 수 있나요?
시뮬레이터
워크플로
제품 정보
- 앱은 각 드라이버가 동의해야 하는 Navigation SDK 서비스 약관 고지가 포함된 대화상자를 구현해야 합니다. 운전자는 이 대화상자를 통해 서비스 약관에 동의할 수 있습니다. 이용약관 텍스트 파일은 탐색 SDK와 함께 제공됩니다.
- Android에서는
NavigationApi.showTermsAndConditionsDialog
메서드를 사용하여 용어가 포함된 대화상자를 표시합니다. - iOS에서는
GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName
를 호출합니다. - Google 모바일 지도에서 지원되는 모든 언어는 자동으로 탐색 SDK에서 사용할 수 있습니다. 기기에 기본 시스템 언어가 있고 앱은 이 설정을 변경할 수 없습니다. 그러나 앱에서 70개가 넘는 언어에 액세스할 수 있습니다.
-
예. Android에서
LocationListener
는 시작되면 백그라운드에서 계속 실행됩니다. 앱이 계속해서 도로에 맞춰 위치를 맞추고 방위를 유지합니다.iOS에서 백그라운드에서 위치 및 방위 위치 업데이트를 계속 수신하려면 도로 스냅을 구현하고
allowsBackgroundLocationUpdates
를YES
로 설정합니다. -
예. 경로가 만들어지거나 변경되면
RouteChangeListener
에서 다중선을 제공합니다. - 아니요. Navigation SDK를 사용하면 기기에 Google 지도 모바일을 설치할 필요가 없습니다.
- 아니요. Navigation SDK는 현재 이 기능을 제공하지 않습니다.
- 예. 기본적으로 통행 방향을 사용할 수 있으며 표시됩니다.
문제
- Xcode 12에서 앱은 시뮬레이터용으로 올바르게 빌드되지 않습니다. 이 문제를 해결하려면 어떻게 해야 하나요?
-
이 문제를 해결하려면 Xcode 프로젝트 빌드 설정을 열고 'iOS 시뮬레이터' 빌드의 경우에만
Excluded Architectures
에arm64
를 추가합니다.자세한 내용은 다음 StackOverflow 스레드를 참고하세요.
네트워크
- Navigation SDK는 연결 상태가 좋지 않은 경우 어떻게 처리하나요?
- Navigation SDK는 각 여정의 경로를 사전 캐시합니다. 사전 캐시된 정보에는 15~20분 동안의 경로 정보와 운전자가 경로를 벗어날 경우 사용할 수 있는 대체 경로가 포함됩니다. Navigation SDK는 기기 GPS 및 센서를 사용하여 위치를 대략적으로 계산합니다.
- 오프라인 모드를 사용할 수 있나요?
- 아니요. Navigation SDK는 현재 오프라인 모드를 제공하지 않습니다. 하지만 SDK는 여정에 관해 사전 캐시된 정보를 제공합니다.
데이터
- 경로를 시작하기 전에 여정의 모든 정류장/목적지를 검색할 수 있나요?
-
예. Android에서 경로의 경로를 가져오려면
Navigator.getRouteSegments()
를 호출합니다.iOS에서
GMSNavigator.routeLegs(read)
를 호출합니다. - 경로 시작 시에 세부 경로 안내를 사용할 수 있나요?
- 예. Navigation SDK는 경로 세그먼트 목록을 제공합니다. 또한 운전자는 헤더의 경로 카드를 스와이프하여 각 조작을 확인할 수도 있습니다.
- 도착예정시간은 앱 사용자에게 어떻게 전달되나요?
-
Android에서 앱 사용자에게 도착예정시간 정보를 제공하려면 다음 단계를 따르세요.
Navigator.getTimeAndDistanceList()
를 사용하여 모든 경유지의 시간과 거리를 가져옵니다.- 드라이버 ETA와 마찬가지로 현재 이 정보를 클라이언트 애플리케이션에 전달합니다.
iOS에서는 다음 단계에 따라 앱 사용자에게 도착예정시간 정보를 제공합니다.
-
Navigator.getRouteSegments()
를 사용하여 여정의 구간을 검색합니다. - 각 여정 구간에 대해
GMSNavigator.timeToNextDestination
를 호출합니다. - 드라이버 ETA와 마찬가지로 현재 시간 정보를 클라이언트 애플리케이션에 전달합니다.
-
내비게이션이 포그라운드에 있지 않은 경우
RoadSnappedLocationProvider
를 사용하여 운전자의 현재 스냅된 위치를 가져올 수 있나요? -
예. Android에서
RoadSnappedLocationProvider
는 기본적으로 백그라운드에서 실행됩니다.iOS에서 백그라운드에서 계속 탐색이 실행되도록 하려면
GMSRoadSnappedLocationProviderListener
의 리스너를 구현하고 속성allowsBackgroundLocationUpdates
를TRUE
로 설정합니다. - Navigation SDK가 지오펜싱을 지원하나요?
-
아니요. 탐색 컨텍스트에서
remainingTimeOrdistanceChangeListener
는 간단한 지오펜싱에 비해 이점이 있습니다. 지오펜싱이 도로의 도형을 고려하지 않을 수 있으며 운전자가 탐색하는 정확한 지점의 중앙에 배치되지 않을 수 있습니다.remainingTimeOrdistanceChangeListener
를 사용하여 이 기능의 근사치를 구할 수 있습니다.- 콜백 빈도를 결정하는 기준점을 설정합니다.
- 목적지까지 남은 거리를 확인하세요.
예를 들어 임곗값을 100m로 설정하면 목적지까지의 거리가 100m씩 변경될 때 콜백이 수신됩니다. 거리가 멀어지면 이 임곗값을 더 작은 값으로 업데이트하고 콜백을 더 자주 수신할 수 있습니다. 그런 다음 남은 거리를 검사하여 승차/하차 위치에 충분히 가까운지 확인합니다.
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
를 사용하여 배경 색상 스타일을 설정합니다. 머리글과 바닥글을 숨기거나 표시하려면NavigationFragment
의setHeaderEnabled
및setFooterEnabled
멤버 함수를 사용합니다.iOS에서는
GMSMapView.settings.navigationHeaderPrimaryBackgroundColor
를 사용하여 배경 색상 스타일을 설정합니다. 머리글과 바닥글을 숨기거나 표시하려면GMSUISettings
의navigationFooterEnabled
및navigationHeaderEnabled
속성을 사용합니다.
라우팅
- 운전자에게 특정 경로를 제공하거나 대체 경로를 삭제할 수 있나요?
- 아니요. 기본적으로 여러 경로가 제공되며 가장 빠른 경로가 우선순위를 갖습니다. 요청에 '고속도로 및 유료도로 제외'와 같은 환경설정을 추가하여 기본 경로를 변경할 수 있습니다. 경유지를 추가하면 경로에도 영향을 줍니다.
- 기본 대상 위치와 다른 대상 위치 라벨을 앱 사용자에게 표시할 수 있나요?
-
예. Android에서 목적지와 위도/경도의 맞춤 제목을 사용하여
Marker
를 만듭니다. Navigation SDK는NavigationMap
에 맞춤 제목과 좌표를 표시합니다.iOS에서는 대상의
GMSMarker
를 만들고 표시합니다. - Navigation SDK를 사용하여 정의된 경로에서의 편차를 추적할 수 있나요?
-
예. Android에서는
Navigator.setRouteChangedListener
를 사용하여 경로가 변경되거나 새 경로가 권장될 때 알림을 받습니다.Navigator.setRouteChangedListener
메서드를 사용하여 경로를 따라 기기 위치를 확인하는 리스너를 등록합니다.- 콜백 이벤트 핸들러
onRouteChanged
에 코드를 추가합니다.- 업데이트된 도착예정시간과 거리 정보가 포함된 메시지를 앱 사용자에게 보냅니다.
- 기기의 위치를 추적합니다.
- [선택사항] 운전자가 규정된 경로에서 벗어날 때 처리하도록 앱에서 필요로 하는 다른 기능을 추가합니다.
iOS에서는
GMSNavigator
및 리스너를 사용하여 경로가 변경되거나 새 경로가 권장될 때 알림을 받습니다.- 지도의 뷰 컨트롤러에서
GMSNavigatorListener
프로토콜 및GMSRoadSnappedLocationProviderListener
프로토콜을 구현합니다. GMSNavigatorListener.navigatorDidChangeRoute
를 구현합니다.GMSNavigator
의routeLegs
및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())
는 앱 사용자가 알림을 클릭하면 활동을 리콜하는 기본 활동에서 호출됩니다.