Navigation SDK is currently available only to select customers. Contact sales to learn more.

Referencia de la clase GMSNavigator

Stay organized with collections Save and categorize content based on your preferences.
Referencia de la clase GMSNavigator

Descripción general

Esta es la clase principal del SDK de Google Navigation para iOS y proporciona métodos para controlar la navegación a un destino y acceder a la información de ruta y progreso.

Esta clase no admite subclases.

Esta clase no tiene seguridad en los subprocesos. Todos los métodos deben llamarse desde el subproceso principal.

Funciones de miembro públicas

(void)- addListener:
 Agrega un objeto de escucha.
(BOOL)- removeListener:
 Quita un objeto de escucha.
(void)- setDestinations:callback:
 Establece varios destinos para la navegación y anula los que se hayan configurado previamente.
(void)- setDestinations:routingOptions:callback:
 Establece varios destinos para la navegación y anula los que se hayan configurado previamente.
(void)- setDestinations:routeToken:callback:
 Configura varios destinos para la navegación mediante un token de ruta a fin de navegar en una ruta calculada previamente.
(void)- getRouteInfoForDestination:withRouteOptions:callback:
 Muestra información sobre las rutas según las estrategias de enrutamiento más adecuadas y predeterminadas.
(GMSNavigationWaypoint anulable)- continueToNextDestination
 Aparece el primer destino de la lista actual de destinos.
(void)- clearDestinations
 Borra todos los destinos establecidos anteriormente y quita las rutas calculadas del mapa.
(NSTimeInterval)- timeToWaypoint:
 Muestra el tiempo estimado para el waypoint determinado, o CLTimeIntervalMax si el waypoint no es parte de la ruta actual.
(CLLocationDistance)- distanceToWaypoint:
 Muestra la distancia estimada al waypoint determinado, o CLLocationDistanceMax si el waypoint no forma parte de la ruta actual.
(void)- setTransactionIDs:errorHandler:
 Establece y registra en el servidor los ID de transacción en curso que se aplican a los eventos de navegación durante la sesión de navegación actual.

Propiedades

BOOLevitarHighways
 Indica si se deben evitar autopistas al generar rutas a destinos.
BOOLavoidsTolls
 Indica si se deben evitar las rutas con peaje cuando se generan rutas a destinos.
BOOLevitaeFerries
 Indica si se deben evitar los ferris cuando se generan rutas a destinos.
GMSNavigationLicensePlateRestriction*licensePlateRestriction
 Establecer restricción de matrícula con el último dígito actual de la matrícula y el código de país.
BOOLguidanceActive.
 Si la orientación paso a paso está habilitada.
BOOLstopGuideAtArrival
 Indica si la guía debe detenerse automáticamente cuando se llama a -navigator:didarrivalAtWaypoint:.
NSTimeIntervaltimeUpdateThreshold.
 El cambio mínimo en el tiempo estimado para llegar al siguiente destino que activará el método navigator:didUpdateRemainingTime:.
CLLocationDistancedistanceUpdateThreshold (en inglés)
 El cambio mínimo en la distancia estimada al siguiente destino que activará el método navigator:didUpdateRemainingDistance:.
NSTimeIntervaltimeToNextDestination.
 Muestra el tiempo estimado para el siguiente destino.
CLLocationDistancedistanceToNextDestination
 Muestra la distancia estimada al siguiente destino.
GMSNavigationDelayCategorydelayCategoryToNextDestination
 Vuelve la categoría de retraso al siguiente destino.
GMSRouteLegcurrentRouteLeg
 El tramo actual del viaje.
NSArray< GMSRouteLeg * > * rutasdepiernas
 Un arreglo de tramos de ruta en el que cada etapa corresponde a un destino establecido.
GMSPathtraveledPath.
 Indica la ruta que recorrió el usuario en la sesión de orientación más reciente; es decir,
GMSNavigationVoiceGuideOrientación por voz
 Determina si se deben habilitar las indicaciones por voz para el tráfico y las alertas paso a paso.
GMSVoiceGuideAudioDeviceTypeaudioDeviceType
 Determina la orientación por voz de los dispositivos de audio que se pueden reproducir.
BOOLvibraciónhabilitada
 Determina si el dispositivo también vibra cuando se reproducen las alertas de voz.
BOOLsendsBackgroundNotifications.
 Determina si se presentarán UILocalNotifications con información de orientación cuando la app esté en segundo plano.
GMSNavigationLightingModesuggestedLightingMode.
 El modo de iluminación sugerido, según la hora del día y la ubicación del usuario.
BOOLshouldDisplayPrompts
 Determina si se deben mostrar las solicitudes de tráfico, las mejores rutas y los incidentes.
GMSNavigationSpeedAlertOptionsspeedAlertOptions.
 GMSNavigationSpeedAlertOptions para personalizar los umbrales de activación de GMSNavigationSpeedAlertSeverity.

(Ten en cuenta que estas no son funciones de los miembros).

typedef void(^ GMSRouteStatusCallback )(GMSRouteStatus routeStatus)
 Se invoca cuando se encuentra una ruta desde la ubicación del usuario hasta los destinos proporcionados o no se encuentra por un motivo indicado por RouteStatus.
typedef void(^ GMSRouteInfoCallback (GMSNavigationRouteInfo *_Nullable routeInfo)
 Se llama cuando se calcula la información de la ruta (ETA y distancia) hasta el waypoint proporcionado.
typedef void(^ GMSNavigationTransactionIDErrorHandler (NSError *error)
 Se llama si falla la configuración de los ID de transacción mediante setTransactionID.

Documentación de la función de miembro

- (void) addListener: (ID< GMSNavigatorListener >) objeto de escucha

Agrega un objeto de escucha.

El receptor se mantiene con una referencia débil.

Parámetros:
objeto de escuchaUn objeto que cumple con el protocolo GMSNavigatorListener.
- (BOOL) removeListener: (ID< GMSNavigatorListener >) objeto de escucha

Quita un objeto de escucha.

Parámetros:
objeto de escuchaUn objeto que cumple con el protocolo GMSNavigatorListener.
Muestra:
Muestra SÍ si se quitó el objeto de escucha. Muestra NO si el objeto no es un objeto de escucha.
- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) destinos
callback: (GMSRouteStatusCallback). callback

Establece varios destinos para la navegación y anula los que se hayan configurado previamente.

Si se encuentra una ruta desde la ubicación del usuario hasta el destino indicado, se llamará a la devolución de llamada proporcionada con GMSRouteStatusOK. Si se establece un destino nuevo antes de encontrar una ruta, se cancelará la solicitud y se llamará a la devolución de llamada con GMSRouteStatusCanceled. Si no se puede encontrar una ruta por otro motivo, la devolución de llamada se realizará con el estado de error adecuado.

La devolución de llamada siempre se enviará de forma asíncrona en la cola principal.

- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) destinos
opciones de enrutamiento: (GMSNavigationRouteOptions *) routingOptions.
callback: (GMSRouteStatusCallback). callback

Establece varios destinos para la navegación y anula los que se hayan configurado previamente.

Las rutas que se muestran se calculan con las opciones de enrutamiento.

Parámetros:
destinosUna matriz de waypoints de destino.
Opciones de enrutamientoLas opciones que influyen en la lógica de enrutamiento (estrategia de enrutamiento)
devolución de llamadaSe llama cuando se encuentra una ruta desde la ubicación del consumidor hasta los destinos proporcionados o no se encuentra por un motivo indicado por RouteStatus.
- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) destinos
routeToken: (NSString *) rutaToken
callback: (GMSRouteStatusCallback). callback

Configura varios destinos para la navegación mediante un token de ruta a fin de navegar en una ruta calculada previamente.

Las rutas serán las mismas, cambiará el módulo a la ubicación de partida del conductor y a las condiciones de la ruta o del tráfico. Las rutas nuevas seguirán basándose en las opciones de enrutamiento codificadas en el token.

Solo se admiten GMSNavigationTravelModeDriving y GMSNavigationTravelModeTwoWheeler cuando usas el token de ruta para iniciar una sesión de navegación. Configura el medio de transporte con travelMode. La llamada fallará si el modo de viaje actual no es compatible y se mostrará un GMSRouteStatusTravelModeUnsupported en la devolución de llamada.

Parámetros:
destinosUn arreglo de waypoints de destino, debe ser el mismo que los destinos proporcionados a RoutesPreferred API para obtener el token de ruta.
Token de rutaUna string de token de ruta que muestra la API de RoutesPreferred. Las opciones de enrutamiento especificadas en la API de RoutesPreferred se codifican en este token de ruta y se usarán para regenerar la ruta procesada previamente o una ruta nueva cuando se produzca un redireccionamiento.
devolución de llamadaSe llama cuando se encuentra una ruta desde la ubicación del consumidor hasta los destinos proporcionados o no se encuentra por un motivo indicado por RouteStatus.
- (void) getRouteInfoForDestination: (GMSNavigationWaypoint *) destino
withRouteOptions: (GMSNavigationRouteOptions*) routingOptions.
callback: (GMSRouteInfoCallback). callback

Muestra información sobre las rutas según las estrategias de enrutamiento más adecuadas y predeterminadas.

Parámetros:
destinoEl punto de referencia de destino.
Opciones de enrutamientoLas opciones utilizadas para obtener la información de la ruta. Se ignoran la estrategia de enrutamiento y la estrategia de rutas alternativas, ya que este método muestra la información de ruta para todas las estrategias de enrutamiento.
devolución de llamadaEs la devolución de llamada realizada cuando se recibe información de rutas.

Aparece el primer destino de la lista actual de destinos.

Después de esta llamada, se orientará al siguiente destino, si corresponde.

Muestra:
a partir de ahora se orientará a los puntos de referencia o a estos puntos si no quedan más waypoints.

Borra todos los destinos establecidos anteriormente y quita las rutas calculadas del mapa.

Si la guía está activa, se detendrá automáticamente.

- (NSTimeInterval) timeToWaypoint: (GMSNavigationWaypoint *) punto de referencia

Muestra el tiempo estimado para el waypoint determinado, o CLTimeIntervalMax si el waypoint no es parte de la ruta actual.

Se actualizará en función de la posición actual del usuario mientras la guía esté activa.

Muestra CLTimeIntervalMax si el waypoint proporcionado no es un destino en la ruta actual.

- (CLLocationDistance) distanceToWaypoint: (GMSNavigationWaypoint *) punto de referencia

Muestra la distancia estimada al waypoint determinado, o CLLocationDistanceMax si el waypoint no forma parte de la ruta actual.

Se actualizará en función de la posición actual del usuario mientras la guía esté activa.

Muestra CLLocationDistanceMax si el waypoint proporcionado no es un destino en la ruta actual.

- (void) setTransactionIDs: (NSArray< NSString * > *) transactionIDs
errorHandler: (null anulable GMSNavigationTransactionIDErrorHandler) errorHandler

Establece y registra en el servidor los ID de transacción en curso que se aplican a los eventos de navegación durante la sesión de navegación actual.

Los ID de transacción se borrarán al final de la sesión de navegación.

Parámetros:
ID de transacciónSon los ID de transacción que se aplican a la sesión de navegación actual. El ID de transacción debe ser único para cada transacción facturable. Un ID de transacción individual debe contener al menos un carácter y un máximo de 64 caracteres. La lista puede estar vacía cuando finaliza una transacción (pero la sesión aún está en curso).
errorHandlerUn bloque que se invocará de forma asíncrona en el subproceso principal si se produce un error cuando los ID de transacción no son válidos

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

Se invoca cuando se encuentra una ruta desde la ubicación del usuario hasta los destinos proporcionados o no se encuentra por un motivo indicado por RouteStatus.

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

Se llama cuando se calcula la información de la ruta (ETA y distancia) hasta el waypoint proporcionado.

Parámetros:
información de la rutaLa información de ruta a un destino determinado. Será nulo si el cálculo falla.
- (typedef void(^ GMSNavigationTransactionIDErrorHandler)(NSError *error) [related]

Se llama si falla la configuración de los ID de transacción mediante setTransactionID.

Consulta la documentación de la API para obtener más detalles.


Documentación de la propiedad

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

Indica si se deben evitar autopistas al generar rutas a destinos.

La configuración predeterminada es NO.

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

Indica si se deben evitar las rutas con peaje cuando se generan rutas a destinos.

La configuración predeterminada es NO.

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

Indica si se deben evitar los ferris cuando se generan rutas a destinos.

La configuración predeterminada es YES.

Establecer restricción de matrícula con el último dígito actual de la matrícula y el código de país.

Esto nos permite enrutar ciertos tipos de restricciones viales que se basan en el número de matrícula. Esto solo se aplicará a las llamadas a setDestinations que se realicen después de configurar este valor. Lo ideal es que lo configures inmediatamente después de obtener el navegador.

Se establece como "nil" si no hay restricción de matrícula. La configuración predeterminada es "nil".

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

Si la orientación paso a paso está habilitada.

Si el valor de guideActive es YES, pero no hay rutas disponibles actualmente, la orientación comenzará cuando lo esté. Esta propiedad se establecerá en NO si se llama clearDestinations o si se llega a un waypoint.

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

Indica si la guía debe detenerse automáticamente cuando se llama a -navigator:didarrivalAtWaypoint:.

Si la respuesta es NO, el encabezado y el pie de página de navegación se seguirán mostrando después de la llegada. El encabezado de navegación seguirá mostrando el último paso de orientación y el pie de página de navegación seguirá actualizando el tiempo y la distancia restantes hasta que se alcance un tiempo o distancia de 0. Además, las actualizaciones -navigator:didUpdateRemainingTime y -navigator:didUpdateRemainingDistance continuarán. Configura explícitamente guidanceActive en NO para detener las indicaciones y las actualizaciones de tiempo y distancia restantes.

Si la respuesta es SÍ, guidanceActive se establecerá automáticamente en NO al llegar.

La configuración predeterminada es YES.

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

El cambio mínimo en el tiempo estimado para llegar al siguiente destino que activará el método navigator:didUpdateRemainingTime:.

Si se configura como NSTimeIntervalMax, se inhabilitarán las devoluciones de llamada de actualización de tiempo. Si se establece en un valor negativo, se utilizará el umbral predeterminado de un segundo. La configuración predeterminada es un segundo.

Nota:
Este valor se ignora si ningún objeto de escucha implementa navigator:didUpdateRemainingTime:.
- (CLLocationDistance) distanceUpdateThreshold [read, write, assign]

El cambio mínimo en la distancia estimada al siguiente destino que activará el método navigator:didUpdateRemainingDistance:.

Si se configura como CLLocationDistanceMax, se inhabilitarán las devoluciones de llamada de actualización de distancia. Si se establece como un valor negativo, se usará el umbral predeterminado de un medidor. La configuración predeterminada es de un metro.

Nota:
Este valor se ignora si ningún objeto de escucha implementa navigator:didUpdateRemainingDistance:.
- (NSTimeInterval) timeToNextDestination [read, assign]

Muestra el tiempo estimado para el siguiente destino.

Se actualizará en función de la posición actual del usuario mientras la guía esté activa.

Muestra CLTimeIntervalMax si no hay rutas disponibles.

- (CLLocationDistance) distanceToNextDestination [read, assign]

Muestra la distancia estimada al siguiente destino.

Se actualizará en función de la posición actual del usuario mientras la guía esté activa.

Muestra CLLocationDistanceMax si no hay rutas disponibles.

- (GMSNavigationDelayCategory) delayCategoryToNextDestination [read, assign]

Vuelve la categoría de retraso al siguiente destino.

Se actualizará en función de la posición actual del usuario mientras la guía esté activa.

Muestra GMSNavigationDelayCategoryNoData si no hay una ruta disponible o los datos de tráfico no están disponibles.

- (GMSRouteLeg*) currentRouteLeg [read, assign]

El tramo actual del viaje.

La GMSRouteLeg tendrá su posición inicial como la posición conocida más reciente (ajuste de ruta) del dispositivo.

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

Un arreglo de tramos de ruta en el que cada etapa corresponde a un destino establecido.

- (GMSPath*) traveledPath [read, assign]

Indica la ruta que recorrió el usuario en la sesión de orientación más reciente; es decir,

desde la última vez que la orientación Activa se estableció en SÍ. La ruta consiste en las ubicaciones ajustadas a la ruta que mostraría GMSRoadSnappedLocationProvider, pero simplificada para quitar puntos redundantes, por ejemplo, la conversión de puntos colineales consecutivos en un único segmento de línea. Esta ruta está vacía si nunca se ha iniciado la orientación.

- (GMSNavigationVoiceGuide) voiceGuide [read, write, assign]

Determina si se deben habilitar las indicaciones por voz para el tráfico y las alertas paso a paso.

La configuración predeterminada es GMSNavigationVoiceGuideAlertsAndOrientation.

- (GMSVoiceGuideAudioDeviceType) audioDeviceType [read, write, assign]

Determina la orientación por voz de los dispositivos de audio que se pueden reproducir.

La configuración predeterminada es GMSVoiceGuideAudioDeviceTypeBluetooth.

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

Determina si el dispositivo también vibra cuando se reproducen las alertas de voz.

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

Determina si se presentarán UILocalNotifications con información de orientación cuando la app esté en segundo plano.

La configuración predeterminada es YES.

El modo de iluminación sugerido, según la hora del día y la ubicación del usuario.

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

Determina si se deben mostrar las solicitudes de tráfico, las mejores rutas y los incidentes.

La configuración predeterminada es YES.

GMSNavigationSpeedAlertOptions para personalizar los umbrales de activación de GMSNavigationSpeedAlertSeverity.

Puedes usar esta propiedad para personalizar los porcentajes de activación de las alertas de velocidad en las alertas importantes y secundarias. También puedes utilizar este método para personalizar el umbral de activación basado en el tiempo para una alerta de velocidad importante.

Si estableces el valor nulo, no recibirás ningún dato del feed de velocidad y se mostrará la alerta de velocidad predeterminada de NavSDK: la alerta de velocidad muestra texto en rojo cuando la velocidad supera los 10 km/h o 10 km/h por encima del límite de velocidad y muestra texto en blanco y fondo rojo cuando se superan los 10 mi/h.