GMSNavigator 클래스 참조

GMSNavigator 클래스 참조

개요

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

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

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

공개 멤버 함수

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

속성

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

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

typedef void(^) GMSRouteStatusCallback )(GMSRouteStatus routeStatus)
 기기 위치에서 제공된 목적지까지의 경로를 찾거나 RouteStatus에서 지정한 이유로 경로를 찾지 못할 때 호출됩니다.
typedef void(^) GMSRouteInfoCallback )(GMSNavigationRouteInfo *_Nullable routeInfo)
 제공된 경유지에 대한 경로 정보 (예: 도착예정시간 및 거리)를 계산할 때 호출됩니다.
typedef void(^) GMSNavigationTransactionIDErrorHandler )(NSError *error)
 setTransactionID를 통한 거래 ID 설정이 실패하는 경우 호출됩니다.

멤버 함수 문서

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

리스너를 추가합니다.

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

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

리스너를 제거합니다.

매개변수:
리스너GMSNavigatorListener 프로토콜을 준수하는 객체입니다.
반환:
리스너가 삭제되었으면 YES를 반환합니다. 객체가 리스너가 아니면 NO를 반환합니다.
- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) 대상 유형
콜백을 수신합니다. (GMSRouteStatusCallback) 콜백

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

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

콜백은 항상 기본 대기열에 비동기적으로 전달됩니다.

- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) 대상 유형
라우팅 옵션을 다음과 같이 지정할 수 있습니다. (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) 콜백

라우팅 전략을 기반으로 경로 정보(기본 최적 경로 또는 짧은 경로)를 반환합니다.

프로젝트에 이 API를 호출할 권한이 없으면 nil 값을 반환합니다.

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

지원이 중단되었습니다.

이 메서드를 호출하는 대신 새 대상 목록으로 -setDestinations:... 메서드 중 하나를 호출합니다.

현재 대상 목록에서 첫 번째 대상을 팝합니다. 통화가 끝난 후 다음 목적지가 있는 경우 안내해 드립니다.

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

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

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

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

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

안내가 활성화되어 있는 동안 현재 기기 위치에 따라 업데이트됩니다.

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

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

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

안내가 활성화되어 있는 동안 현재 기기 위치에 따라 업데이트됩니다.

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

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

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

거래 ID는 탐색 세션이 끝나면 삭제됩니다.

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

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

기기 위치에서 제공된 목적지까지의 경로를 찾거나 RouteStatus에서 지정한 이유로 경로를 찾지 못할 때 호출됩니다.

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

제공된 경유지에 대한 경로 정보 (예: 도착예정시간 및 거리)를 계산할 때 호출됩니다.

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

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

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


부동산 관련 문서

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

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

기본값은 NO입니다.

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

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

기본값은 NO입니다.

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

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

기본값은 YES입니다.

현재 운전면허증의 마지막 자리와 국가 코드로 번호판 제한을 설정합니다.

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

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

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

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

GuideActive가 '예'이지만 현재 사용 가능한 경로가 없는 경우 경로를 이용할 수 있을 때 안내가 시작됩니다. clearDestinations가 호출되거나 경유지에 도착하면 이 속성이 NO로 설정됩니다.

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

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

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

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

기본값은 YES입니다.

- (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가 YES로 설정된 마지막 시간 이후 기기의 이동 경로입니다.

안내가 시작되지 않은 경우 이 경로는 비어 있습니다. 경로는 GMSRoadSnappedLocationProvider에서 반환된 도로에 맞춰진 위치로 구성되지만 중복 지점을 제거하도록 단순화되었습니다. 예를 들어 연속된 공선형 점을 단일 선분으로 변환합니다.

- (GMSNavigationVoiceGuidance) voiceGuidance [read, write, assign]

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

기본값은 GMSNavigationVoiceGuidanceAlertsAndGuidance입니다.

음성 안내가 어떤 오디오 기기로 재생될지 결정합니다.

기본값은 GMSVoiceGuidanceAudioDeviceTypeBluetooth입니다.

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

음성 경보가 재생될 때 기기가 진동해야 하는지 결정합니다.

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

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

기본값은 YES입니다.

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

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

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

기본값은 YES입니다.

GMSNavigationSpeedAlertSeverity의 트리거 기준을 맞춤설정하기 위한 GMSNavigationSpeedAlertOptions입니다.

이 속성을 사용하여 경미 및 중대 경보 모두의 속도 알림 실행 기준을 백분율로 맞춤설정할 수 있습니다. 또한 이 방법을 사용하여 주요 속도 알림에 대한 시간 기반 트리거 임계값을 맞춤설정할 수도 있습니다.

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