자주 묻는 질문(FAQ)

제품 세부정보

네트워크 및 연결

데이터

UI 맞춤설정

라우팅

시뮬레이터

워크플로

이동성 서비스

제품 세부정보

앱은 각 사용자가 수락해야 하는 Navigation SDK 서비스 약관 알림이 포함된 대화상자를 구현해야 합니다. 이 대화상자를 통해 사용자는 서비스 약관에 동의할 수 있습니다. 약관 텍스트 파일은 Navigation SDK와 함께 제공됩니다. NavigationApi.showTermsAndConditionsDialog 메서드를 사용하여 약관이 포함된 대화상자를 표시합니다.
Google 지도 모바일에서 지원하는 모든 언어는 Navigation SDK에서 자동으로 사용할 수 있습니다. 기기에는 기본 시스템 언어가 있으며 앱은 이 설정을 변경할 수 없습니다. 하지만 앱은 70개 이상의 언어에 액세스할 수 있습니다.

예. 시작되면 LocationListener가 백그라운드에서 계속 실행됩니다. 앱은 계속해서 위치를 도로에 스냅하고 방향을 유지합니다.

예. 경로가 생성되거나 변경되면 RouteChangeListener에서 다중선을 제공합니다.

아니요. Navigation SDK에는 기기에 Google Maps Mobile이 설치되어 있지 않아도 됩니다.
아니요, 현재 Navigation SDK에서는 이 기능을 제공하지 않습니다.
예. 트래픽 방향은 기본적으로 제공되고 표시됩니다.
Navigation SDK는 어떤 JDK 버전을 지원하나요?
Navigation SDK는 Oracle에서 적극적으로 지원하는 Java SE의 LTS 버전을 지원합니다. 이러한 버전은 Oracle Java SE 지원 로드맵Premier Support가 있는 것으로 표시됩니다.

네트워크 및 연결

Navigation SDK는 네트워크 연결 상태가 좋지 않은 경우 어떻게 처리하나요?
Navigation SDK는 각 여정의 경로를 미리 캐시합니다. 사전 캐시된 정보에는 15~20분 동안의 경로 정보와 사용자가 경로에서 벗어나는 경우의 대체 경로가 포함됩니다. Navigation SDK는 기기 GPS와 센서를 사용하여 위치를 대략적으로 파악합니다.
Navigation SDK는 GPS 신호가 약하거나 끊어지는 경우 어떻게 처리하나요?

탐색이 시작되고 Navigation SDK가 GPS 신호를 한 번 이상 수신한 후에는 다음과 같은 상황에서 'GPS 검색 중...' 메시지가 표시됩니다.

  • 마지막으로 GPS 신호를 수신한 후 10초 이상이 지난 경우
  • 마지막으로 GPS 신호를 수신한 후 라우팅 위치가 500m 이상 이동한 경우

SDK가 장시간 동안 GPS 신호를 수신하지 못하면 앱에 갈매기 모양의 위치로 표시되는 경로 진행이 완전히 멈출 때까지 느려질 수 있습니다. 이 경우 지도에 있는 갈매기 모양은 마지막 GPS 신호로 표시된 위치에 그대로 유지됩니다. GPS 신호를 수신하지 못해도 SDK는 탐색 모드를 자동으로 종료하지 않습니다. 하지만 다시 신호를 수신할 때까지 안내를 제공하지 못할 수 있습니다.

오프라인 모드를 사용할 수 있나요?
아니요. 현재 Navigation SDK는 오프라인 모드를 제공하지 않습니다. 하지만 SDK는 여정에 대해 미리 캐시된 정보를 제공합니다.

데이터

경로를 시작하기 전에 여정의 모든 정류장/목적지를 가져올 수 있나요?

예. 경로의 경로를 가져오려면 Navigator.getRouteSegments()를 호출합니다.

경로 시작 시 세부 경로 안내를 사용할 수 있나요?
예. Navigation SDK는 경로 세그먼트 목록을 제공합니다. 또한 사용자는 헤더의 경로 카드에서 스와이프하여 각 동작을 확인할 수 있습니다.
예상 도착 시간은 앱 사용자에게 어떻게 전달되나요?

다음 단계에 따라 앱 사용자에게 ETA 정보를 제공하세요.

  1. Navigator.getTimeAndDistanceList()를 사용하여 모든 경유지의 시간과 거리를 가져옵니다.
  2. 운전자 도착 예정 시간과 마찬가지로 이 정보를 클라이언트 애플리케이션에 전달합니다.
탐색이 포그라운드에 있지 않은 경우 RoadSnappedLocationProvider을 사용하여 사용자의 현재 스냅된 위치를 가져올 수 있나요?

예. RoadSnappedLocationProvider는 기본적으로 백그라운드에서 실행됩니다.

Navigation SDK는 지오펜싱을 지원하나요?

아니요. 탐색의 맥락에서 remainingTimeOrdistanceChangeListener는 지오펜스보다 이점이 있습니다. 지오펜스는 도로 지오메트리를 고려하지 않을 수 있으며 사용자가 탐색하는 정확한 지점에 중심이 맞춰져 있지 않을 수 있습니다.

remainingTimeOrdistanceChangeListener를 사용하여 이 기능을 대략적으로 파악할 수 있습니다.

  1. 콜백 빈도를 결정하는 기준을 설정합니다.
  2. 목적지까지 남은 거리를 확인합니다.

예를 들어 기준을 100m로 설정하면 목적지까지의 거리가 100m 변경될 때 콜백이 수신됩니다. 거리가 줄어들면 이 기준점을 더 작은 값으로 업데이트하여 콜백을 더 자주 받을 수 있습니다. 그런 다음 남은 거리를 검사하여 승차/하차 위치에 충분히 가까운지 확인합니다.

탐색 앱이 백그라운드에 있을 때 알림을 사용 중지할 수 있나요?

예. Navigator.setHeadsUpNotificationEnabled를 사용하여 알림을 제어합니다. 이 메서드에는 불리언 인수가 있습니다. FALSE는 알림을 사용 중지하고 TRUE는 알림을 사용 설정합니다.

거래 레코더는 Google에서 제품 분석 목적으로 로깅하는 고유 ID로 픽업 및 하차를 추적합니다. Mobility Services 고객인 경우 Google에서는 NavigationTransactionRecorder을 구현하여 거래 기록을 로깅하는 것이 좋습니다.

UI 맞춤설정

최적의 경로 옵션에 색상 코드를 지정할 수 있나요?
아니요. 특정 경로 옵션의 색상 코딩은 현재 지원되지 않습니다.
Navigation SDK에서 최종 목적지의 도착 예정 시간을 표시할 수 있나요?

예. 다음 방법을 사용하세요.

  1. Navigator.getTimeAndDistanceList()를 사용하여 모든 경유지의 시간과 거리를 가져옵니다.
  2. NavigationFragment.setEtaCardEnabled(false)를 사용하여 현재 경유지의 도착 예정 시간을 숨깁니다.
  3. 최종 목적지 도착 예정 시간을 렌더링합니다.
예상 도착 시간 업데이트를 숨기려면 어떻게 해야 하나요?

navigationView.setEtaCardEnabled(false)를 호출하여 도착 예정 시간 카드를 사용 중지할 수 있습니다.

헤더 및 바닥글 카드에 사용할 수 있는 UI 맞춤설정은 무엇인가요?

StylingOptions를 사용하여 배경색 스타일을 설정합니다. 헤더와 바닥글을 숨기거나 표시하려면 NavigationFragmentsetHeaderEnabledsetFooterEnabled 멤버 함수를 사용합니다.

라우팅

사용자에게 특정 경로를 제공하거나 대체 경로를 삭제할 수 있나요?
아니요. 기본적으로 여러 경로가 제공되며 가장 빠른 경로가 우선순위를 갖습니다. 요청에 '고속도로 및 통행료 피하기'와 같은 환경설정을 추가하여 기본 경로에 영향을 줄 수 있습니다. 경유지를 추가하면 경로에도 영향을 미칩니다.
앱 사용자에게 기본 대상 위치와 다른 대상 라벨을 표시할 수 있나요?

예. 대상과 위도/경도의 맞춤 제목으로 Marker을 만듭니다. Navigation SDK는 NavigationMap에 맞춤 제목과 좌표를 표시합니다.

Navigation SDK를 사용하여 정의된 경로에서 벗어나는 것을 추적할 수 있나요?

예. Navigator.setRouteChangedListener을 사용하여 경로가 변경되거나 새 경로가 추천될 때 알림을 받으세요.

  1. Navigator.setRouteChangedListener 메서드를 사용하여 경로를 따라 기기 위치를 확인하는 리스너를 등록합니다.
  2. 콜백 이벤트 핸들러 onRouteChanged에 코드를 추가합니다.
    • 업데이트된 도착 예정 시간 및 거리 정보가 포함된 메시지를 앱 사용자에게 보냅니다.
    • 기기의 위치를 추적합니다.
    • [선택사항] 사용자가 지정된 경로를 벗어났을 때 처리하기 위해 앱에 필요한 다른 기능을 추가합니다.
사용자가 경로를 완료하지 않고 탐색을 종료할 수 있나요?

예. Navigator.stopGuidance() 메서드를 호출하여 탐색을 중지합니다.

시뮬레이터

시뮬레이터에서 경로 변경을 지원하나요?

예. simulateLocationsAlongNewRoute를 호출하여 경로 변경이 포함된 여정을 시뮬레이션합니다. simulateLocationsAlongExistingRoute 메서드는 기존 경로의 변경사항을 무시합니다.

워크플로

탐색 프래그먼트가 포함된 활동을 닫은 후 알림을 닫으려면 어떻게 해야 하나요?

활동이 닫히면 내비게이션 알림이 내비게이션 중에 계속 표시됩니다. 차량이 목적지에 도착하면 내비게이션이 중지되고 알림이 사라집니다.

알림 클릭을 처리하려면 Navigator.startGuidance(intent resumeIntent)를 사용합니다. 앱 사용자가 알림을 클릭하면 resume intent이 실행됩니다. 일반적으로 Navigator.startguidance(getIntent())은 기본 활동에서 호출되며, 앱 사용자가 알림을 클릭하면 활동을 다시 호출합니다.

이동성 서비스

모빌리티 서비스 고객의 경우 Navigation SDK 사용이 어떻게 다른가요?

Google Maps Platform Mobility Services는 운송 및 물류 비즈니스의 엔터프라이즈 요구사항을 지원하는 데 도움이 되는 API 및 SDK 모음을 제공합니다. 모빌리티 서비스 고객의 경우 일반적으로 경로 최적화, 디스패치, 작업 추적, 차량 분석 등을 위해 관련 서비스와 함께 Navigation SDK를 사용합니다. 또한 이동성 서비스 고객에게는 Navigation SDK의 청구 방식이 다릅니다. 자세한 내용은 Mobility Services 문서를 참고하세요.

모빌리티 제품은 현재 일부 고객에게만 제공됩니다. 자세한 내용은 영업 담당자에게 문의하세요.

내가 모빌리티 서비스 고객인지 어떻게 알 수 있나요?
현재 모빌리티 서비스 고객으로 Navigation SDK를 구현하고 있는지 확실하지 않다면 코드에서 ReportBillableEvent 호출을 찾아보세요. 모빌리티 서비스 고객만 ReportBillableEvent 메서드를 호출해야 합니다.

모빌리티 서비스 고객에게 Navigation SDK 요금은 어떻게 청구되나요?
모빌리티 서비스 고객의 경우 Navigation SDK의 청구 및 가격은 Google Maps Platform과의 서비스 계약에 따라 달라집니다. 모빌리티 서비스 구현에 대한 청구가 올바르게 이루어지는지 확인하는 방법에 대한 자세한 내용은 청구 유효성 검사를 참고하세요. 모빌리티 서비스 청구에 대한 자세한 내용은 영업 담당자에게 문의하세요.

어떤 Navigation SDK API는 모빌리티 서비스 고객만 사용해야 하나요?

Navigation SDK에는 Google에서 거래당 청구하는 모빌리티 서비스 고객만 사용할 수 있는 API가 여러 개 있습니다. 모빌리티 서비스 고객이 아닌 경우 다음 메서드는 no-op입니다.

모빌리티 서비스 고객인 경우 모빌리티 서비스가 아닌 Navigation SDK 구현도 사용할 수 있나요?

예, 모빌리티 서비스 고객은 내비게이션 SDK의 모빌리티 서비스 구현과 비모빌리티 서비스 구현을 모두 사용할 수 있습니다. 하지만 앱에서는 한 번에 하나의 구현 유형만 사용할 수 있습니다. 또한 모빌리티 서비스 구현에 사용하는 것과 별도로 새 Google Cloud 프로젝트, 결제 계정, API 키를 만들어야 합니다. 자세한 내용은 Navigation SDK 설정 개요를 참고하세요.

한 구현 유형에서 다른 구현 유형으로 앱을 이전하는 등 Mobility Services가 아닌 Navigation SDK 구현을 사용하는 방법에 관한 자세한 내용은 Google 계정 담당자에게 문의하세요.

참고: 현재 모빌리티 서비스 고객이 아니며 모빌리티 서비스 API 및 SDK 컬렉션에 대해 자세히 알아보려면 Google Maps Platform 영업팀에 문의하세요.