Referencia de la clase GMSNavigator


Descripción general

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

Esta clase no admite la subclasificación.

Esta clase no es segura para subprocesos. Se debe llamar a todos los métodos desde el subproceso principal.

Funciones de los miembros públicos

(vacío)- addListener:
 Agrega un objeto de escucha.
(BOOL)- removeListener:
 Quita un objeto de escucha.
(vacío)- setDestinations:callback:
 Configura varios destinos para la navegación y anula los destinos establecidos anteriormente.
(vacío)- setDestinations:routingOptions:callback:
 Configura varios destinos para la navegación y anula los destinos establecidos anteriormente.
(vacío)- setDestinations:routeToken:callback:
 Establece varios destinos para la navegación mediante un token de ruta para navegar por una ruta calculada previamente.
(vacío)- getRouteInfoForDestination:withRoutingOptions:callback:
 Devuelve información de la ruta según la estrategia de enrutamiento: la mejor o la ruta más corta predeterminada.
(GMSNavigationWaypoint anulable *)- continueToNextDestination
 Obsoleta.
(vacío)- clearDestinations
 Borra todos los destinos establecidos anteriormente y las rutas calculadas del mapa.
(NSTimeInterval)- timeToWaypoint:
 Devuelve el tiempo estimado para el punto de referencia determinado o CLTimeIntervalMax si el punto de referencia no es parte de la ruta actual.
(CLLocationDistance)- distanceToWaypoint:
 Devuelve la distancia estimada al punto de referencia determinado, o CLLocationDistanceMax si el punto de referencia no forma parte de la ruta actual.
(vacío)- setTransactionIDs:errorHandler:
 Establece y registra en el servidor los IDs de transacción en curso que se aplican a los eventos de navegación durante la sesión de navegación actual.

Propiedades

BOOLavoidsHighways
 Establece si se deben evitar autopistas al generar rutas a destinos.
BOOLavoidsTolls
 Indica si se deben evitar las rutas con peaje al generar rutas a destinos.
BOOLavoidsFerries
 Indica si se deben evitar los transbordadores al generar rutas a destinos.
GMSNavigationLicensePlateRestriction *licensePlateRestriction
 Establece la restricción de matrícula con el último dígito de la matrícula y el código de país actuales del conductor.
BOOLguidanceActive
 Indica si la guía paso a paso está habilitada actualmente.
BOOLstopGuidanceAtArrival
 Indica si la guía debe detenerse automáticamente cuando se llama a -navigator:didTellAtWaypoint:.
NSTimeIntervaltimeUpdateThreshold
 El cambio mínimo en el tiempo estimado hasta el siguiente destino que activará el método navigator:didUpdateRemainingTime: que se llamará.
CLLocationDistancedistanceUpdateThreshold
 El cambio mínimo en la distancia estimada hasta el próximo destino que activará el método navigator:didUpdateRemainingDistance: que se llamará.
NSTimeIntervaltimeToNextDestination
 Muestra la hora estimada al próximo destino.
CLLocationDistancedistanceToNextDestination
 Muestra la distancia estimada al próximo destino.
GMSNavigationDelayCategorydelayCategoryToNextDestination
 Muestra la categoría de retraso al siguiente destino.
GMSRouteLeg *currentRouteLeg
 El tramo actual del viaje.
NSArray< GMSRouteLeg * > *routeLegs
 Un array de segmentos de ruta en el que cada segmento corresponde a un destino que se estableció.
GMSPath *traveledPath
 Indica la ruta que recorrió el usuario en la sesión de guía más reciente, definida como la última vez que se configuró en YES la última vez que guideActive se estableció en YES.
GMSNavigationVoiceGuidancevoiceGuidance
 Determina si se deben habilitar las indicaciones por voz para las alertas de tráfico y paso a paso.
GMSVoiceGuidanceAudioDeviceTypeaudioDeviceType
 Determina en qué dispositivos de audio se pueden reproducir las indicaciones por voz.
BOOLvibrationEnabled
 Determina si el dispositivo también debe vibrar 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 en función de la hora del día y la ubicación del dispositivo.
BOOLshouldDisplayPrompts
 Determina si se deben mostrar los mensajes de tráfico, incidentes y rutas mejores.
GMSNavigationSpeedAlertOptions *speedAlertOptions
 GMSNavigationSpeedAlertOptions para personalizar los umbrales de activación de GMSNavigationSpeedAlertSeverity

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

typedef void(^)GMSRouteStatusCallback )(routeStatus de GMSRouteStatus)
 Se llama cuando se encuentra una ruta desde la ubicación del dispositivo hasta los destinos proporcionados, o no se la encuentra por un motivo indicado en RouteStatus.
typedef void(^)GMSRouteInfoCallback )(GMSNavigationRouteInfo *_Nullable routeInfo)
 Se llama cuando se calcula la información de la ruta (hora de llegada estimada y distancia) hasta el punto de referencia proporcionado.
typedef void(^)GMSNavigationTransactionIDErrorHandler )(NSError *error)
 Se llama si falla la configuración de los IDs de transacción mediante setTransactionIDs.

Documentación de la función de miembro

- (void) addListener: (id< GMSNavigatorListener >) oyente

Agrega un objeto de escucha.

El objeto de escucha se mantiene con una referencia débil.

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

Quita un objeto de escucha.

Parámetros:
objeto de escuchaUn objeto que cumple con el protocolo GMSNavigatorListener
Muestra:
Muestra YES si se quitó el objeto de escucha. Muestra NO si el objeto no era un objeto de escucha.
- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) destinos
devolución de llamada: (GMSRouteStatusCallback) devolución de llamada

Configura varios destinos para la navegación y anula los destinos establecidos anteriormente.

Se llamará a la devolución de llamada proporcionada con GMSRouteStatusOK si se encuentra una ruta desde la ubicación del dispositivo hasta el destino determinado. Si se establece un destino nuevo antes de que se encuentre una ruta, se cancelará la solicitud y se llamará a la devolución de llamada con GMSRouteStatusCanceled. Si no se encuentra una ruta por otro motivo, se llamará a la devolución de llamada con un 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
routingOptions: (GMSNavigationRoutingOptions *) routingOptions
devolución de llamada: (GMSRouteStatusCallback) devolución de llamada

Configura varios destinos para la navegación y anula los destinos establecidos anteriormente.

Las rutas mostradas se calculan usando opciones de enrutamiento.

Parámetros:
destinosUn array de puntos de referencia de destino.
routingOptionsLas opciones que influyen en la lógica de enrutamiento (estrategia de enrutamiento)
callbackSe llama cuando se encuentra una ruta desde la ubicación del consumidor hasta los destinos proporcionados, o no se la encuentra por un motivo indicado en RouteStatus.
- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) destinos
routeToken: (NSString *) routeToken
devolución de llamada: (GMSRouteStatusCallback) devolución de llamada

Establece varios destinos para la navegación mediante un token de ruta para navegar por una ruta calculada previamente.

Las rutas serán las mismas; los cambios de módulo se aplicarán a la ubicación de partida del conductor y a las condiciones de la ruta o del tráfico. Las rerutas seguirán ocurriendo según 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. Establece travelMode para configurar el modo de viaje. Si el medio de transporte actual no es compatible, la llamada fallará y se devolverá una GMSRouteStatusTravelModeUnsupported en la devolución de llamada.

Parámetros:
destinosUn array de puntos de referencia de destino debe ser el mismo que los destinos asignados a la API de RoutesPreferred para obtener el token de ruta.
routeTokenUna cadena 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 utilizarán para volver a generar la ruta calculada previamente o una ruta nueva cuando se produce una redirección.
callbackSe llama cuando se encuentra una ruta desde la ubicación del consumidor hasta los destinos proporcionados, o no se la encuentra por un motivo indicado en RouteStatus.
- (void) getRouteInfoForDestination: (GMSNavigationWaypoint *) destination
withRoutingOptions: (GMSNavigationRoutingOptions *) routingOptions
devolución de llamada: (GMSRouteInfoCallback) devolución de llamada

Devuelve información de la ruta según la estrategia de enrutamiento: la mejor o la ruta más corta predeterminada.

Este método solo está disponible para los clientes de Servicios de movilidad que Google factura por transacción. Muestra un valor "nil" si el proyecto no tiene permiso para llamar a esta API.

Parámetros:
destinoPunto de referencia de destino.
routingOptionsLas opciones utilizadas para recuperar la información de la ruta. La estrategia de enrutamiento y la de rutas alternativas se ignoran, ya que este método devuelve la información de ruta para todas las estrategias de enrutamiento.
callbackLa devolución de llamada realizada cuando se recibe la información de las rutas.
- (GMSNavigationWaypoint que admite un valor nulo *) continueToNextDestination

Obsoleta.

En su lugar, llama a uno de los métodos -setDestinations:... con la nueva lista de destinos.

Muestra el primer destino de la lista actual de destinos. Después de esta llamada, se brindará orientación hacia el próximo destino, si corresponde.

Muestra:
La guía de puntos de referencia ahora se dirige, o bien es nulo si no quedan más puntos de referencia.
Nota:
Esto dejó de estar disponible. En su lugar, usa uno de los métodos -setDestinations:....

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

Si la guía está activa, esta acción la detendrá automáticamente.

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

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

Se actualiza en función de la posición actual del dispositivo mientras la guía está activa.

Muestra CLTimeIntervalMax si el punto de referencia proporcionado no es un destino en la ruta actual.

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

Devuelve la distancia estimada al punto de referencia determinado, o CLLocationDistanceMax si el punto de referencia no forma parte de la ruta actual.

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

Muestra CLLocationDistanceMax si el punto de referencia proporcionado no es un destino en la ruta actual.

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

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

Los IDs de transacción se borrarán al final de la sesión de navegación. Este método solo está disponible para los clientes de Servicios de movilidad que Google factura por transacción. Muestra un valor "nil" si el proyecto no tiene permiso para llamar a esta API.

Parámetros:
transactionIDsLos IDs 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 uno y 64 caracteres como máximo. 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 llama cuando se encuentra una ruta desde la ubicación del dispositivo hasta los destinos proporcionados, o no se la encuentra por un motivo indicado en RouteStatus.

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

Se llama cuando se calcula la información de la ruta (hora de llegada estimada y distancia) hasta el punto de referencia proporcionado.

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

Se llama si falla la configuración de los IDs de transacción mediante setTransactionIDs.

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


Documentación de la propiedad

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

Establece 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 al generar rutas a destinos.

La configuración predeterminada es NO.

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

Indica si se deben evitar los transbordadores al generar rutas a destinos.

La configuración predeterminada es YES.

Establece la restricción de matrícula con el último dígito de la matrícula y el código de país actuales del conductor.

Esto nos permite evitar ciertos tipos de restricciones viales en función del número de matrícula. Esto solo se aplicará a las llamadas setDestinations realizadas después de establecer este valor. Idealmente, deberías configurar esto inmediatamente después de obtener el navegador.

Establece el valor como "nil" si no hay restricciones por matrícula. La configuración predeterminada es "nil".

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

Indica si la guía paso a paso está habilitada actualmente.

Si guideActive está establecida en SÍ, pero no hay ninguna ruta disponible en ese momento, la guía comenzará cuando haya una disponible. Esta propiedad se establecerá en NO si se llama a clearDestinations o se llega a un punto de referencia.

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

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

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 guía y el pie de página de navegación seguirá actualizando el tiempo y la distancia restantes hasta que se alcance un tiempo/distancia de 0. Además, se seguirán mostrando las actualizaciones de -navigator:didUpdateProvideingTime y -navigator:didUpdateREMAININGingDistance. Configura explícitamente guidanceActive como NO para detener las indicaciones y las actualizaciones de tiempo o distancia restantes.

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

La configuración predeterminada es YES.

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

El cambio mínimo en el tiempo estimado hasta el siguiente destino que activará el método navigator:didUpdateRemainingTime: que se llamará.

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

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

El cambio mínimo en la distancia estimada hasta el próximo destino que activará el método navigator:didUpdateRemainingDistance: que se llamará.

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

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

Muestra la hora estimada al próximo destino.

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

Muestra CLTimeIntervalMax si no hay ninguna ruta disponible.

- distanceToNextDestination [read, assign] (CLLocationDistance)

Muestra la distancia estimada al próximo destino.

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

Muestra CLLocationDistanceMax si no hay una ruta disponible.

- (GMSNavigationDelayCategory) delayCategoryToNextDestination [read, assign]

Muestra la categoría de retraso al siguiente destino.

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

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

- (GMSRouteLeg*) currentRouteLeg [read, assign]

El tramo actual del viaje.

Esta GMSRouteLeg tendrá su posición inicial como la posición más reciente conocida (ajustada a la ruta) del dispositivo.

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

Un array de segmentos de ruta en el que cada segmento corresponde a un destino que se estableció.

- (GMSPath*) traveledPath [read, assign]

Indica la ruta que recorrió el usuario en la sesión de guía más reciente, definida como la última vez que se configuró en YES la última vez que guideActive se estableció en YES.

La ruta consta de ubicaciones ajustadas a la ruta que muestra GMSRoadSnappedLocationProvider y se simplifican para producir segmentos de línea.

Nota:
El sistema sondea al cliente para detectar señales de GPS y obtener datos de ubicación. Una mala señal de GPS puede generar más interpolación, lo que puede producir rutas menos precisas. Esta ruta estará vacía si la guía nunca comenzó.
- (GMSNavigationVoiceGuidance) voiceGuidance [read, write, assign]

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

La configuración predeterminada es GMSNavigationVoiceGuidanceAlertsAndGuidance.

Determina en qué dispositivos de audio se pueden reproducir las indicaciones por voz.

La configuración predeterminada es GMSVoiceGuidanceAudioDeviceTypeBluetooth.

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

Determina si el dispositivo también debe vibrar 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 en función de la hora del día y la ubicación del dispositivo.

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

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

La configuración predeterminada es YES.

GMSNavigationSpeedAlertOptions para personalizar los umbrales de activación de GMSNavigationSpeedAlertSeverity

Puedes usar esta propiedad para personalizar los umbrales de activación de las alertas de velocidad en porcentaje para las alertas menores y las principales. También puedes usar este método para personalizar el umbral de activación basado en el tiempo para una alerta de velocidad importante.

Si configuras "nil", no recibirás datos de feeds de velocidad, y se mostrará la alerta de velocidad predeterminada de NavSDK: la alerta de velocidad muestra un texto en rojo cuando la velocidad es superior a 8 km/h o 10 km/h por encima del límite de velocidad, y muestra texto blanco y un fondo rojo cuando esta opción es superior a 10 km/h o 30 km/h.