자주 묻는 질문(FAQ)

제품 정보

문제

네트워크

데이터

UI 맞춤설정

라우팅

시뮬레이터

워크플로

제품 정보

앱에서는 Navigation SDK 약관이 포함된 대화상자를 구현해야 합니다. 각 운전자가 수락해야 하는 서비스 고지를 제공합니다. 이 대화상자는 드라이버가 서비스 약관에 동의할 수 있는 기회를 제공합니다. 약관의 텍스트 파일 Navigation SDK와 함께 제공됩니다.
Android에서는 NavigationApi.showTermsAndConditionsDialog 메서드를 사용하여 검색어가 포함된 대화상자를 표시합니다.
를 통해 개인정보처리방침을 정의할 수 있습니다.
iOS에서는 GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName입니다.
Google 모바일 지도에서 지원하는 언어는 모두 자동으로 사용할 수 있습니다. 기기에 기본 시스템 언어가 있으며 앱에서 이 설정을 변경할 수 없습니다. 하지만 앱에서 70개 이상의 언어에 액세스할 수 있습니다.

예. Android에서 LocationListener는 시작되면 계속해서 백그라운드에서 실행됩니다 앱이 계속해서 도로 위치를 스냅하고 영향을 줍니다.

iOS에서 위치 및 방위에 대한 위치 업데이트를 계속 받으려면 백그라운드에서 도로 맞추기를 구현하고 allowsBackgroundLocationUpdates에서 YES(으)로

예. 경로를 만들거나 변경하면 RouteChangeListener 다중선을 제공합니다.

아니요, Navigation SDK에는 Google 모바일 지도가 필요하지 않습니다. 기기에 설치되어야 합니다.
아니요. Navigation SDK는 현재 이 기능을 제공하지 않습니다. 있습니다.
예. 통행 방향이 기본적으로 사용 가능하며 표시됩니다.
Navigation SDK 선택 모바일 서비스 고객만 API를 사용해야 하나요?

Navigation SDK에는 모빌리티 서비스 고객만 사용할 수 있는 여러 API가 있으며, 이러한 API는 Google에서 트랜잭션 단위로 요금을 청구합니다. 모바일 서비스 고객이 아닌 경우 다음 방법은 노옵스(no-ops)입니다.

문제

Xcode 12에서 앱은 시뮬레이터용으로 올바르게 빌드되지 않습니다. 이 문제를 해결하려면 어떻게 해야 하나요?

이 문제를 해결하려면 Xcode 프로젝트 빌드 설정을 열고 'iOS 시뮬레이터' 빌드의 경우에만 Excluded Architecturesarm64를 추가합니다.

자세한 내용은 다음 StackOverflow 스레드를 참고하세요.

GMSMapView가 로드되지 않습니다.

GMSMapView가 로드되지 않는 경우:

  • Cloud 콘솔에서 NavSDK가 사용 설정되어 있는지 확인합니다.
  • Nav SDK가 설치되어 있지만 프로젝트에서 Nav SDK API를 사용하지 않는 경우 바이너리에서 삭제하세요.

네트워크

Navigation SDK는 연결 상태가 좋지 않은 경우 어떻게 처리하나요?
Navigation SDK는 각 여정의 경로를 사전 캐시합니다. 사전 캐시된 정보에는 15~20분 간의 라우팅 정보가 포함됩니다. 운전자가 경로를 벗어나는 경우에 대비해 대체 경로를 제공합니다. 이 Navigation SDK는 기기 GPS를 사용하여 위치를 추정하고 있습니다.
오프라인 모드를 사용할 수 있나요?
아니요, Navigation SDK는 오프라인 모드일 수 있습니다. 사전 캐시된 정보를 제공하고 생각해 보세요

데이터

여정을 시작하기 전에 모든 정류장/목적지를 검색할 수 있나요? 경로

예. Android에서 경로에 대한 경로를 가져오려면 다음을 호출합니다. Navigator.getRouteSegments()

iOS에서는 GMSNavigator.routeLegs(read)를 호출합니다.

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

Android에서 다음 단계에 따라 앱 사용자에게 도착예정시간 정보를 제공하세요.

  1. 를 사용하여 모든 경유지에 대한 시간 및 거리를 검색합니다. Navigator.getTimeAndDistanceList()
  2. 다음 단계에 따라 이 정보를 클라이언트 애플리케이션에 전달하세요. 현재 운전자 도착예정시간에 대해 하고 있습니다.

iOS에서 다음 단계에 따라 앱 사용자에게 도착예정시간 정보를 제공하세요.

  1. 다음을 사용하여 여정의 구간을 검색합니다. Navigator.getRouteSegments()
  2. 각 여정 구간에 GMSNavigator.timeToNextDestination를 호출합니다.
  3. 자동으로 클라이언트 애플리케이션에 시간 정보를 전달합니다. 현재 운전자 도착예정시간에 대해 하고 있습니다.
RoadSnappedLocationProvider를 사용하여 운전자의 정보를 가져올 수 있나요? 탐색이 포그라운드에 있지 않은 경우 현재 맞추기된 위치를 표시할까요?

예. Android에서 RoadSnappedLocationProvider는 기본적으로 설정됩니다.

iOS에서 탐색을 백그라운드에서 계속 실행하려면 리스너를 구현합니다. GMSRoadSnappedLocationProviderListener로 설정하고 속성 allowsBackgroundLocationUpdatesTRUE로 설정합니다.

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

아니요. 탐색 컨텍스트에서는 remainingTimeOrdistanceChangeListener 단순한 지오펜싱에 비해 유리합니다 지오펜싱은 도로 형태가 표시되며, 도로가 이동할 정확한 지점에 중심을 맞추지 못할 수도 있습니다. 운전자가 내비게이션을 이용하고 있습니다.

다음을 사용하여 이 기능의 근사치를 구할 수 있습니다. remainingTimeOrdistanceChangeListener

  1. 임곗값을 설정하여 콜백 빈도를 결정합니다.
  2. 목적지까지 남은 거리를 확인합니다.

예를 들어 임곗값을 100m로 설정하면 목적지까지의 거리가 변경되면 콜백이 수신됨 있습니다. 거리가 줄어들면 이 임계값을 더 자주 콜백을 받을 수 있습니다. 그런 다음, 프레임에서 남은 거리를 점검하고 승차/하차 위치와 충분히 가까운지 확인합니다.

iOS에서 GMSNavigatorListener.didUpdateRemainingDistance 리스너를 구현합니다. 알림 간 거리를 관리할 수 있습니다.

내비게이션 앱이 백그라운드에 있을 때 알림을 사용 중지할 수 있나요?

예. Android에서는 Navigator.setHeadsUpNotificationEnabled를 사용합니다. 알림을 제어할 수 있습니다. 이 메서드에는 불리언 인수가 있습니다. FALSE 알림을 비활성화합니다. TRUE는 알림을 사용 설정합니다.

iOS에서는 GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdates 설정 '아니요'로 변경합니다.

기타 위치 알림에 대한 백그라운드 처리를 사용하지 않으려면 GMSNavigator.sendsBackgroundNotifications(NO)

UI 맞춤설정

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

예. Android에서는 다음 메서드를 사용합니다.

  1. 를 사용하여 모든 경유지에 대한 시간 및 거리를 검색합니다. Navigator.getTimeAndDistanceList()
  2. 를 사용하여 현재 경유지의 도착예정시간을 숨깁니다. NavigationFragment.setEtaCardEnabled(false)
  3. 최종 목적지 ETA를 렌더링합니다.

iOS에서는 다음을 사용합니다.

  1. GMSNavigator.routeLegs(read)를 호출합니다.
  2. 마지막 구간에서 호출 GMSNavigator.timeToNextDestination
  3. 를 사용하여 현재 경유지의 도착예정시간을 숨깁니다. MSMapView.settings.navigationFooterEnabled=NO에서 FALSE로 변경합니다.
  4. 최종 목적지 ETA를 렌더링합니다.
도착예정시간 업데이트를 숨기려면 어떻게 해야 하나요?

다음 방법을 사용하면 도착예정시간 카드를 사용 중지할 수 있습니다.

  • Android에서는 navigationView.setEtaCardEnabled(false)를 사용합니다.
  • iOS에서는 GMSMapView.settings.navigationFooterEnabled=NO를 사용합니다.
머리글 및 바닥글 카드에 어떤 UI 맞춤설정을 사용할 수 있나요?

Android에서는 StylingOptions를 사용하여 배경을 설정합니다. 색상 스타일 지정 헤더 및 바닥글에 표시하려면 setHeaderEnabled 및 다음의 setFooterEnabled 멤버 함수: NavigationFragment입니다.

iOS에서는 다음을 사용합니다. GMSMapView.settings.navigationHeaderPrimaryBackgroundColor 을 사용하여 배경색 스타일을 설정합니다. 머리글 및 바닥글 숨기기 또는 표시하기 navigationFooterEnabled 사용 및 GMSUISettingsnavigationHeaderEnabled 속성

라우팅

구체적인 경로를 알려주실 수 있나요? 운전자에게 전달하거나 대체 경로를 삭제하시겠습니까?
아니요. 기본적으로 여러 경로가 제공되며 가장 빠른 경로가 우선합니다. 다음과 같은 환경설정을 추가하여 기본 경로에 영향을 줄 수 있습니다. ' 고속도로와 유료도로" 추가할 수 있습니다. 경유지를 추가하면 경로에도 영향을 줍니다.
앱 사용자에게 기본값과 다른 대상 라벨을 표시할 수 있나요? 도착 위치:

예. Android에서 Marker를 만듭니다. 목적지 및 위도/경도에 대한 맞춤형 제목입니다. 이 맞춤 제목과 좌표를 표시하는 Navigation SDK NavigationMap

iOS에서는 대상의 GMSMarker를 만들고 표시합니다.

Navigation SDK를 사용하여 정의된 경로로부터의 편차를 추적할 수 있나요?

예. Android에서 Navigator.setRouteChangedListener를 사용하여 다음을 할 수 있습니다. 경로가 변경되거나 새 경로가 추천될 때 알림 수신:

  1. 경로를 따라 기기 위치를 확인하는 리스너 등록 Navigator.setRouteChangedListener 메서드 사용
  2. 콜백 이벤트 핸들러 onRouteChanged에 코드를 추가합니다.
    • 업데이트된 도착예정시간 및 거리 정보가 포함된 메시지를 앱 사용자에게 보냅니다.
    • 기기 위치 추적
    • [선택사항] 앱에서 처리해야 하는 다른 기능을 추가합니다. 규정된 경로를 벗어날 때

iOS에서는 GMSNavigator 및 그 리스너를 사용하여 다음을 수행합니다. 경로가 변경되거나 새 경로가 추천될 때 알림 수신:

  1. 지도의 뷰 컨트롤러에서 GMSNavigatorListener 구현 세 가지 프로토콜과 GMSRoadSnappedLocationProviderListener 프로토콜입니다.
  2. 구현 GMSNavigatorListener.navigatorDidChangeRoute
  3. routeLegsGMSNavigatorcurrentRouteLeg 속성
운전자가 경로를 완료하지 않고 내비게이션을 종료할 수 있나요?

예. 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 - 앱 사용자가 알림을 클릭하면 Activity를 다시 호출