GMSNavigator 클래스 참조

GMSNavigator 클래스 참조

개요

iOS용 Google Navigation SDK의 기본 클래스이며 대상으로의 탐색을 제어하고 경로 및 진행률 정보에 액세스하기 위한 메서드를 제공합니다.

이 클래스는 서브클래스화를 지원하지 않습니다.

이 클래스는 스레드로부터 안전하지 않습니다. 모든 메서드는 기본 스레드에서 호출해야 합니다.

를 탭합니다. 공개 멤버 함수

(무효)- addListener:
 리스너를 추가합니다.
(BOOL)- removeListener:
 리스너를 제거합니다.
(무효)- setDestinations:callback:
 여러 탐색 대상을 설정하여 이전에 설정한 대상을 재정의합니다.
(무효)- setDestinations:routingOptions:callback:
 여러 탐색 대상을 설정하여 이전에 설정한 대상을 재정의합니다.
(무효)- setDestinations:routeToken:callback:
 경로 토큰을 사용하여 미리 계산된 경로를 탐색하여 탐색을 위한 여러 대상을 설정합니다.
(무효)- getRouteInfoForDestination:withRoutingOptions:callback:
 라우팅 전략, 즉 기본 최적 또는 더 짧은 경로에 따라 경로 정보를 반환합니다.
(Null 허용 GMSNavigationWaypoint *)- continueToNextDestination
 지원 중단되었습니다.
(무효)- clearDestinations
 이전에 설정된 모든 목적지를 지우고 계산된 경로를 지도에서 삭제합니다.
(NSTimeInterval)- timeToWaypoint:
 지정된 경유지에 대한 예상 시간을 반환하거나, 경유지가 현재 경로의 일부가 아닌 경우 CLTimeIntervalMax를 반환합니다.
(CLLocationDistance)- distanceToWaypoint:
 지정된 경유지까지의 예상 거리를 반환하거나, 경유지가 현재 경로의 일부가 아닌 경우 CLLocationDistanceMax를 반환합니다.
(무효)- setTransactionIDs:errorHandler:
 현재 탐색 세션 중에 탐색 이벤트에 적용되는 진행 중인 트랜잭션 ID를 설정하고 서버에 기록합니다.

를 탭합니다. 속성

부울avoidsHighways
 목적지에 대한 경로를 생성할 때 고속도로를 제외할지 여부입니다.
부울avoidsTolls
 목적지로 가는 경로를 생성할 때 유료 도로를 제외할지 여부입니다.
부울avoidsFerries
 목적지로 가는 경로를 생성할 때 페리를 제외할지 여부입니다.
GMSNavigationLicensePlateRestriction *licensePlateRestriction
 현재 운전 면허증의 마지막 숫자와 국가 코드를 사용하여 번호판 제한을 설정합니다.
부울guidanceActive
 세부 경로 안내의 현재 사용 설정 여부입니다.
부울stopGuidanceAtArrival
 -navigator:didArriveAtWaypoint: 가 호출될 때 안내를 자동으로 중지해야 하는지 여부입니다.
NSTimeIntervaltimeUpdateThreshold
 navigator:didUpdateRemainingTime: 메서드 호출을 트리거하는 다음 대상까지의 예상 시간의 최소 변경입니다.
CLLocationDistancedistanceUpdateThreshold
 navigator:didUpdateRemainingDistance: 메서드 호출을 트리거하는 다음 목적지까지의 예상 거리의 최소 변경입니다.
NSTimeIntervaltimeToNextDestination
 다음 목적지까지의 예상 시간을 반환합니다.
CLLocationDistancedistanceToNextDestination
 다음 목적지까지의 예상 거리를 반환합니다.
GMSNavigationDelayCategorydelayCategoryToNextDestination
 다음 목적지로 지연 카테고리를 반환합니다.
GMSRouteLeg *currentRouteLeg
 여정의 현재 구간입니다.
NSArray< GMSRouteLeg * > *routeLegs
 각 구간이 설정된 목적지에 해당하는 경로 구간의 배열입니다.
GMSPath *traveledPath
 사용자가 가장 최근 안내 세션에서 이동한 경로로, guideActive가 마지막으로 '예'로 설정된 시간으로 정의됩니다.
GMSNavigationVoiceGuidancevoiceGuidance
 교통정보 및 세부 경로 안내 알림에 음성 안내를 사용 설정할지 결정합니다.
GMSVoiceGuidanceAudioDeviceTypeaudioDeviceType
 음성 안내를 재생할 수 있는 오디오 기기를 결정합니다.
부울vibrationEnabled
 음성 알림이 재생될 때 기기도 진동할지 여부를 결정합니다.
부울sendsBackgroundNotifications
 앱이 백그라운드에 있을 때 안내 정보가 포함된 UILocalNotifications를 표시할지 결정합니다.
GMSNavigationLightingModesuggestedLightingMode
 시간 및 기기 위치를 기반으로 추천된 조명 모드입니다.
부울shouldDisplayPrompts
 교통정보, 더 나은 경로, 사고를 표시할지 여부를 결정합니다.
GMSNavigationSpeedAlertOptions *speedAlertOptions
 GMSNavigationSpeedAlertSeverity의 트리거 임계값을 맞춤설정하기 위한 GMSNavigationSpeedAlertOptions

(이는 멤버 함수가 아닙니다.)

typedef void(^)GMSRouteStatusCallback )(GMSRouteStatus routeStatus)
 기기 위치에서 제공된 대상까지의 경로를 찾거나 RouteStatus에 표시된 이유로 경로를 찾지 못한 경우 호출됩니다.
typedef void(^)GMSRouteInfoCallback )(GMSNavigationRouteInfo *_Nullable routeInfo)
 제공된 경유지에 대한 경로 정보 (ETA 및 거리)가 계산될 때 호출됩니다.
typedef void(^)GMSNavigationTransactionIDErrorHandler)(NSError *오류)
 setTransactionIDs를 통한 거래 ID 설정이 실패하는 경우 호출됩니다.

구성원 기능 문서

- (void) addListener: (id< GMSNavigatorListener >) 리스너

리스너를 추가합니다.

리스너는 약한 참조로 유지됩니다.

매개변수:
listenerGMSNavigatorListener 프로토콜을 준수하는 객체입니다.
- (BOOL) removeListener: (id< GMSNavigatorListener >) 리스너

리스너를 제거합니다.

매개변수:
listenerGMSNavigatorListener 프로토콜을 준수하는 객체입니다.
반환:
리스너가 삭제되었으면 YES를 반환합니다. 객체가 리스너가 아닌 경우 NO를 반환합니다.
- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) 목적지
콜백을 사용합니다. (GMSRouteStatusCallback) 콜백

여러 탐색 대상을 설정하여 이전에 설정한 대상을 재정의합니다.

기기 위치에서 지정된 목적지까지의 경로를 찾으면 제공된 콜백이 GMSRouteStatusOK와 함께 호출됩니다. 경로를 찾기 전에 새 목적지를 설정하면 요청이 취소되고 GMSRouteStatusCanceled로 콜백이 호출됩니다. 다른 이유로 경로를 찾을 수 없는 경우 콜백이 적절한 오류 상태와 함께 호출됩니다.

콜백은 항상 기본 큐에 비동기식으로 전달됩니다.

- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) 목적지
routingOptions: (GMSNavigationRoutingOptions *) routingOptions
콜백을 사용합니다. (GMSRouteStatusCallback) 콜백

여러 탐색 대상을 설정하여 이전에 설정한 대상을 재정의합니다.

반환되는 경로는 경로 옵션을 사용하여 계산됩니다.

매개변수:
대상목적지 경유지의 배열입니다.
routingOptions라우팅 로직 (라우팅 전략)에 영향을 미치는 옵션입니다.
콜백소비자 위치에서 제공된 목적지까지의 경로를 찾거나 RouteStatus에 표시된 이유로 경로를 찾지 못한 경우 호출됩니다.
- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) 목적지
routeToken: (NSString *) routeToken
콜백을 사용합니다. (GMSRouteStatusCallback) 콜백

경로 토큰을 사용하여 미리 계산된 경로를 탐색하여 탐색을 위한 여러 대상을 설정합니다.

경로는 동일하며 운전자 출발 위치와 도로/교통상황에 따라 모듈로로 변경됩니다. 다시 라우팅은 여전히 토큰에 인코딩된 라우팅 옵션을 기반으로 합니다.

경로 토큰을 사용하여 내비게이션 세션을 시작할 때는 GMSNavigationTravelModeDrivingGMSNavigationTravelModeTwoWheeler만 지원됩니다. travelMode를 설정하여 이동 수단을 구성합니다. 현재 이동 모드가 지원되지 않는 경우 호출이 실패하고 GMSRouteStatusTravelModeUnsupported이 콜백에서 반환됩니다.

매개변수:
대상목적지 경유지의 배열은 경로 토큰을 가져오기 위해 RoutesPreferred API에 지정된 목적지와 같아야 합니다.
routeTokenRoutesPreferred API에서 반환된 경로 토큰 문자열입니다. RoutesPreferred API에 지정된 라우팅 옵션은 이 경로 토큰에 인코딩되며 경로 변경이 발생할 때 미리 계산된 경로 또는 새 경로를 다시 생성하는 데 사용됩니다.
콜백소비자 위치에서 제공된 대상까지의 경로를 찾거나 RouteStatus에 표시된 이유로 경로를 찾지 못한 경우 호출됩니다.
- (void) getRouteInfoForDestination: (GMSNavigationWaypoint *) 대상
withRoutingOptions: (GMSNavigationRoutingOptions *) routingOptions
콜백을 사용합니다. (GMSRouteInfoCallback) 콜백

라우팅 전략, 즉 기본 최적 또는 더 짧은 경로에 따라 경로 정보를 반환합니다.

이 방법은 Google에서 거래 단위로 요금을 청구하는 모바일 서비스 고객만 사용할 수 있습니다. 프로젝트에 이 API를 호출할 권한이 없으면 'nil' 값을 반환합니다.

매개변수:
destination목적지 경유지입니다.
routingOptions경로 정보를 가져오는 데 사용되는 옵션입니다. 이 메서드는 모든 라우팅 전략의 경로 정보를 반환하므로 라우팅 전략과 대체 경로 전략은 무시됩니다.
콜백경로 정보를 수신할 때 호출되는 콜백입니다.

지원 중단됨.

대신 새 대상 목록을 사용하여 -setDestinations:... 메서드 중 하나를 호출합니다.

현재 대상 목록에서 첫 번째 대상을 팝합니다. 통화가 끝나면 다음 목적지가 있는 경우 안내를 안내합니다.

반환:
이제 경유지 가이드가 향하고 있습니다. 더 이상 남은 경유지가 없으면 nil입니다.
참고:
이 기능은 지원 중단되었습니다. 대신 -setDestinations:... 메서드 중 하나를 사용하세요.

이전에 설정된 모든 목적지를 지우고 계산된 경로를 지도에서 삭제합니다.

안내가 활성 상태인 경우 자동으로 중지됩니다.

- (NSTimeInterval) timeToWaypoint: (GMSNavigationWaypoint *) 경유지

지정된 경유지에 대한 예상 시간을 반환하거나, 경유지가 현재 경로의 일부가 아닌 경우 CLTimeIntervalMax를 반환합니다.

이는 안내가 활성화된 동안 현재 기기 위치를 기반으로 업데이트됩니다.

제공된 경유지가 현재 경로의 목적지가 아닌 경우 CLTimeIntervalMax를 반환합니다.

- (CLLocationDistance) distanceToWaypoint: (GMSNavigationWaypoint *) 경유지

지정된 경유지까지의 예상 거리를 반환하거나, 경유지가 현재 경로의 일부가 아닌 경우 CLLocationDistanceMax를 반환합니다.

가이드가 활성화된 동안에는 현재 기기 위치를 기반으로 업데이트됩니다.

제공된 경유지가 현재 경로의 목적지가 아닌 경우 CLLocationDistanceMax를 반환합니다.

- (void) setTransactionIDs: (NSArray< NSString * > *) transactionIDs
errorHandler: (null을 허용하는 GMSNavigationTransactionIDErrorHandler) errorHandler

현재 탐색 세션 중에 탐색 이벤트에 적용되는 진행 중인 트랜잭션 ID를 설정하고 서버에 기록합니다.

거래 ID는 탐색 세션이 끝날 때 삭제됩니다. 이 방법은 Google에서 거래 단위로 요금을 청구하는 모바일 서비스 고객만 사용할 수 있습니다. 프로젝트에 이 API를 호출할 권한이 없으면 'nil' 값을 반환합니다.

매개변수:
transactionIDs현재 탐색 세션에 적용되는 트랜잭션 ID입니다. 거래 ID는 청구 가능한 거래마다 고유해야 합니다. 개별 거래 ID에는 1~64자(영문 기준)가 포함되어야 합니다. 트랜잭션이 종료되었지만 세션은 아직 진행 중인 경우 목록이 비어 있을 수 있습니다.
errorHandler트랜잭션 ID가 유효하지 않을 때 오류가 발생하면 기본 스레드에서 비동기적으로 호출되는 블록입니다.

- (typedef void(^ GMSRouteStatusCallback)(GMSRouteStatus routeStatus)) [related]

기기 위치에서 제공된 대상까지의 경로를 찾거나 RouteStatus에 표시된 이유로 경로를 찾지 못한 경우 호출됩니다.

- (typedef void(^ GMSRouteInfoCallback)(GMSNavigationRouteInfo *_Nullable routeInfo)) [related]

제공된 경유지에 대한 경로 정보 (ETA 및 거리)가 계산될 때 호출됩니다.

매개변수:
routeInfo지정된 목적지까지의 경로 정보입니다. 계산에 실패하면 nil이 됩니다.
- (typedef void(^ GMSNavigationTransactionIDErrorHandler)(NSError *error)) [related]

setTransactionIDs를 통한 거래 ID 설정이 실패하는 경우 호출됩니다.

자세한 내용은 API 문서를 참조하세요.


속성 문서

- (BOOL) avoidsHighways [read, write, assign]

목적지에 대한 경로를 생성할 때 고속도로를 제외할지 여부입니다.

기본값은 NO입니다.

- (BOOL) avoidsTolls [read, write, assign]

목적지로 가는 경로를 생성할 때 유료 도로를 제외할지 여부입니다.

기본값은 NO입니다.

- (BOOL) avoidsFerries [read, write, assign]

목적지로 가는 경로를 생성할 때 페리를 제외할지 여부입니다.

기본값은 '예'입니다.

현재 운전 면허증의 마지막 숫자와 국가 코드를 사용하여 번호판 제한을 설정합니다.

이렇게 하면 번호판 번호를 기반으로 하는 특정 유형의 도로 제한을 우회할 수 있습니다. 이 값이 설정된 후에 수행된 setDestinations 호출에만 적용됩니다. 탐색기를 가져온 직후에 이 값을 설정하는 것이 이상적입니다.

번호판 제한이 없으면 nil로 설정합니다. 기본값은 nil입니다.

- (BOOL) guidanceActive [read, write, assign]

세부 경로 안내의 현재 사용 설정 여부입니다.

GuideActive가 YES로 설정되어 있지만 현재 사용할 수 있는 경로가 없는 경우, 경로를 이용할 수 있게 되면 안내가 시작됩니다. 이 속성은 clearDestinations가 호출되거나 경유지에 도착하면 NO로 설정됩니다.

- (BOOL) stopGuidanceAtArrival [read, write, assign]

-navigator:didArriveAtWaypoint: 가 호출될 때 안내를 자동으로 중지해야 하는지 여부입니다.

'아니요'로 설정한 경우 도착 후에도 탐색 머리글과 바닥글이 계속 표시됩니다. 탐색 헤더에는 최종 안내 단계가 계속 표시되고 탐색 바닥글은 시간/거리가 0에 도달할 때까지 남은 시간과 거리를 계속 업데이트합니다. 또한 -navigator:didUpdateRemainingTime 및 -navigator:didUpdateRemainingDistance 업데이트가 계속됩니다. 안내 및 남은 시간/거리 업데이트를 중지하려면 guidanceActive를 명시적으로 NO로 설정합니다.

'예'인 경우 도착 시 guidanceActive이(가) 자동으로 '아니요'로 설정됩니다.

기본값은 '예'입니다.

- (NSTimeInterval) timeUpdateThreshold [read, write, assign]

navigator:didUpdateRemainingTime: 메서드 호출을 트리거하는 다음 대상까지의 예상 시간의 최소 변경입니다.

NSTimeIntervalMax로 설정되면 시간 업데이트 콜백이 사용 중지됩니다. 음수 값으로 설정하면 기본 기준인 1초가 사용됩니다. 기본값은 1초입니다.

참고:
navigator:didUpdateRemainingTime:를 구현하는 리스너가 없으면 이 값은 무시됩니다.
- (CLLocationDistance) distanceUpdateThreshold [read, write, assign]

navigator:didUpdateRemainingDistance: 메서드 호출을 트리거하는 다음 목적지까지의 예상 거리의 최소 변경입니다.

CLLocationDistanceMax로 설정하면 거리 업데이트 콜백이 사용 중지됩니다. 음수 값으로 설정하면 기본 임곗값 1미터가 사용됩니다. 기본값은 1미터입니다.

참고:
navigator:didUpdateRemainingDistance:를 구현하는 리스너가 없으면 이 값은 무시됩니다.
- (NSTimeInterval) timeToNextDestination [read, assign]

다음 목적지까지의 예상 시간을 반환합니다.

가이드가 활성화된 동안에는 현재 기기 위치를 기반으로 업데이트됩니다.

사용할 수 있는 경로가 없으면 CLTimeIntervalMax를 반환합니다.

- (CLLocationDistance) distanceToNextDestination [read, assign]

다음 목적지까지의 예상 거리를 반환합니다.

가이드가 활성화된 동안에는 현재 기기 위치를 기반으로 업데이트됩니다.

사용할 수 있는 경로가 없으면 CLLocationDistanceMax를 반환합니다.

- (GMSNavigationDelayCategory) delayCategoryToNextDestination [read, assign]

다음 목적지로 지연 카테고리를 반환합니다.

가이드가 활성화된 동안에는 현재 기기 위치를 기반으로 업데이트됩니다.

사용할 수 있는 경로가 없거나 교통정보를 사용할 수 없는 경우 GMSNavigationDelayCategoryNoData를 반환합니다.

- (GMSRouteLeg*) currentRouteLeg [read, assign]

여정의 현재 구간입니다.

GMSRouteLeg에는 기기의 시작 위치가 가장 최근에 알려진 (로드 스냅된) 위치가 있습니다.

- (NSArray<GMSRouteLeg *>*) routeLegs [read, assign]

각 구간이 설정된 목적지에 해당하는 경로 구간의 배열입니다.

- (GMSPath*) traveledPath [read, assign]

사용자가 가장 최근 안내 세션에서 이동한 경로로, guideActive가 마지막으로 '예'로 설정된 시간으로 정의됩니다.

경로는 GMSRoadSnappedLocationProvider에서 반환한 도로 맞추기 위치로 구성되며 선분을 생성하도록 단순화되었습니다.

참고:
시스템에서 클라이언트에게 GPS 신호를 폴링하여 위치 데이터를 얻습니다. GPS 신호가 약하면 보간 작업이 추가로 발생하여 덜 정확한 경로가 생성될 수 있습니다. 안내가 시작된 적이 없는 경우 이 경로는 비어 있습니다.
- (GMSNavigationVoiceGuidance) voiceGuidance [read, write, assign]

교통정보 및 세부 경로 안내 알림에 음성 안내를 사용 설정할지 결정합니다.

기본값은 GMSNavigationVoiceGuidanceAlertsAndGuidance입니다.

음성 안내를 재생할 수 있는 오디오 기기를 결정합니다.

기본값은 GMSVoiceGuidanceAudioDeviceTypeBluetooth입니다.

- (BOOL) vibrationEnabled [read, write, assign]

음성 알림이 재생될 때 기기도 진동할지 여부를 결정합니다.

- (BOOL) sendsBackgroundNotifications [read, write, assign]

앱이 백그라운드에 있을 때 안내 정보가 포함된 UILocalNotifications를 표시할지 결정합니다.

기본값은 '예'입니다.

시간 및 기기 위치를 기반으로 추천된 조명 모드입니다.

- (BOOL) shouldDisplayPrompts [read, write, assign]

교통정보, 더 나은 경로, 사고를 표시할지 여부를 결정합니다.

기본값은 '예'입니다.

GMSNavigationSpeedAlertSeverity의 트리거 임계값을 맞춤설정하기 위한 GMSNavigationSpeedAlertOptions

이 속성을 사용하여 사소한 알림과 주요 알림 모두에 대해 속도 알림 트리거 임계값을 백분율로 맞춤설정할 수 있습니다. 또한 이 방법을 사용하여 주요 속도 알림에 대한 시간 기반 트리거 임계값을 맞춤설정할 수도 있습니다.

nil을 설정하면 속도 피드 데이터가 수신되지 않고 NavSDK의 기본 속도 알림이 표시됩니다. 속도 알림이 속도 제한을 5mph(5mph) 또는 10kph(10kph)를 초과하는 경우 빨간색 텍스트로 표시되고 10mph 또는 20kph 이상으로 속도를 높일 때는 흰색 텍스트와 빨간색 배경이 표시됩니다.