Referencia de la clase GMSNavigator

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 el acceso a la información de la ruta y el progreso.

Esta clase no admite la subclasificación.

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

Funciones públicas de miembro

(void) - addListener:
 Agrega un objeto de escucha.
(BOOL) - removeListener:
 Quita un objeto de escucha.
(void) - setDestinations:callback:
 Configura varios destinos para la navegación y anula cualquier destino configurado con anterioridad.
(void) - setDestinations:routingOptions:callback:.
 Configura varios destinos para la navegación y anula cualquier destino configurado con anterioridad.
(void) - setDestinations:routeToken:callback:
 Configura varios destinos para la navegación mediante un token de ruta a fin de navegar por una ruta calculada previamente.
(void) - getRouteInfoForDestination:withRoutingOptions:callback:
 Muestra información de la ruta según la estrategia de enrutamiento: la mejor o más corta de la ruta predeterminada.
(nullable GMSNavigationWaypoint *)- continueToNextDestination
 Ya no está disponible.
(void) - clearDestinations
 Borra todos los destinos configurados anteriormente y quita las rutas calculadas del mapa.
(NSTimeInterval)- timeToWaypoint:
 Muestra 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:
 Muestra la distancia estimada al punto de referencia determinado o CLLocationDistanceMax si el punto de referencia no es parte de la ruta actual.
(void) - setTransactionIDs:errorHandler:
 Establece y registra en el servidor los IDs de transacciones en curso que se aplican a los eventos de navegación durante la sesión de navegación actual.

Propiedades

BOOLavoidsHighways
 Indica si se deben evitar las autopistas cuando se generan rutas a destinos.
BOOLavoidsTolls
 Indica si se deben evitar las rutas con peaje al generar rutas para destinos.
BOOLavoidsFerries
 Indica si se deben evitar los transbordadores cuando se generan rutas a destinos.
GMSNavigationLicensePlateRestrictionlicensePlateRestriction
 Establece la restricción por matrícula con el último dígito de la matrícula y el código de país del conductor actual.
BOOLguidanceActive
 Si la orientación paso a paso está habilitada actualmente.
BOOLstopGuidanceAtArrival
 Establece si la orientación debe detenerse automáticamente cuando se llama a -navigator:didLlegarAtWaypoint:.
NSTimeIntervaltimeUpdateThreshold
 El cambio mínimo en el tiempo estimado hasta el siguiente destino que activará la llamada al método navigator:didUpdateRemainingTime:.
CLLocationDistanciadistanceUpdateThreshold
 El cambio mínimo en la distancia estimada al siguiente destino que activará la llamada al método navigator:didUpdateRemainingDistance:.
NSTimeIntervaltimeToNextDestination
 Muestra el tiempo estimado para el siguiente destino.
CLLocationDistanciadistanceToNextDestination
 Muestra la distancia estimada al siguiente destino.
GMSNavigationDelayCategorydelayCategoryToNextDestination
 Muestra la categoría de retraso al siguiente destino.
GMSRouteLegcurrentRouteLeg
 El tramo actual del viaje.
NSArray< GMSRouteLeg * > * routeLegs
 Es un array de segmentos de la ruta en el que cada segmento corresponde a un destino que se estableció.
GMSPathtraveledPath
 La ruta que recorrió el dispositivo desde 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 con qué dispositivos de audio se pueden reproducir las indicaciones por voz.
BOOLvibrationEnabled
 Determina si el dispositivo también debe vibrar cuando se reproducen alertas de voz.
BOOLsendsBackgroundNotifications
 Determina si se presentarán UILocalNotifications con información de orientación cuando la app esté en segundo plano.
GMSNavigationLightingModesuggestedLightingMode
 Es 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 mensajes de tráfico, incidentes y mejores rutas.
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 llama cuando se encuentra una ruta desde la ubicación del dispositivo a los destinos proporcionados, o cuando 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) al punto de referencia proporcionado.
typedef void(^ GMSNavigationTransactionIDErrorHandler (NSError *error)
 Se llama si falla la configuración de los IDs de transacción a través de setTransactionIDs.

Documentación sobre la función del miembro

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

Agrega un objeto de escucha.

El objeto de escucha se retiene 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.
Devuelve:
Devuelve YES si se quitó el objeto de escucha. Devuelve 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 cualquier destino configurado con anterioridad.

La devolución de llamada proporcionada se llamará 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 puede encontrar una ruta por cualquier otro motivo, se llamará a la devolución de llamada con un estado de error adecuado.

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

- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) destinos
planificación de ruta: (GMSNavigationRoutingOptions *) routingOptions
devolución de llamada: (GMSRouteStatusCallback). devolución de llamada

Configura varios destinos para la navegación y anula cualquier destino configurado con anterioridad.

Las rutas que se muestran 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 a los destinos proporcionados, o cuando no se encuentra por un motivo indicado por RouteStatus.
- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) destinos
pathToken: (NSString *) routeToken
devolución de llamada: (GMSRouteStatusCallback). devolución de llamada

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

Las rutas serán las mismas, es decir, 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. Seguirán ocurriendo redireccionamientos 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. Configura travelMode para configurar el medio de transporte. La llamada fallará si el medio de transporte actual no es compatible, y se mostrará un GMSRouteStatusTravelModeUnsupported en la devolución de llamada.

Parámetros:
destinosUn array de puntos de referencia de destino debe ser el mismo que los destinos otorgados a la API de RoutesPreferred para obtener el token de ruta.
routeTokenUna string de token de ruta que muestra la API de RoutesPreferred. Las opciones de enrutamiento especificadas en la API de RoutesPreferred están codificadas en este token de ruta y se usarán para regenerar la ruta precalculada o una nueva ruta cuando se produzca un redireccionamiento.
callbackSe llama cuando se encuentra una ruta desde la ubicación del consumidor a los destinos proporcionados, o cuando no se encuentra por un motivo indicado por RouteStatus.
- (void) getRouteInfoForDestination: (GMSNavigationWaypoint *) destination
withRouteOptions: (GMSNavigationRoutingOptions *) routingOptions
devolución de llamada: (GMSRouteInfoCallback). devolución de llamada

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

Muestra un valor nil si el proyecto no tiene permiso para llamar a esta API.

Parámetros:
destinoEl punto de referencia de destino.
routingOptionsLas opciones utilizadas para recuperar la información de la ruta. La estrategia de enrutamiento y la estrategia de rutas alternativas se ignoran, ya que este método devuelve la información de la ruta para todas las estrategias de enrutamiento.
callbackEs la devolución de llamada a la que se llama cuando se recibe la información de las rutas.

Ya no está disponible.

Llama a uno de los métodos -setDestinations:... con la nueva lista de destinos en lugar de llamar a este método.

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

Devuelve:
la orientación de los puntos de referencia ahora se dirige hacia ellos, o bien si no quedan más puntos de referencia.
Nota:
Esta opción dejó de estar disponible. En su lugar, usa uno de los métodos -setDestinations:....

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

Si la guía está activa, esta se 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

Muestra la distancia estimada al punto de referencia determinado o CLLocationDistanceMax si el punto de referencia no es 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: (nulable GMSNavigationTransactionIDErrorHandler) errorHandler

Establece y registra en el servidor los IDs de transacciones 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.

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 tener 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 IDs 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 a los destinos proporcionados, o cuando 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) al punto de referencia proporcionado.

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

Se llama si falla la configuración de los IDs de transacción a través de setTransactionIDs.

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 las autopistas cuando se generan 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 para destinos.

La configuración predeterminada es NO.

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

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

La configuración predeterminada es YES.

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

Esto nos permite orientarnos respecto de ciertos tipos de restricciones viales que dependen del número de matrícula. Esto solo se aplicará a las llamadas a setDestinations realizadas después de establecer este valor. Lo ideal sería configurar esto inmediatamente después de obtener el navegador.

Se establece en nulo si no hay restricciones por matrícula. El valor predeterminado es "nil".

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

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

Si el valor de GuideActive es SÍ, pero no hay una ruta disponible en este momento, las indicaciones se iniciarán cuando haya una ruta disponible. Esta propiedad se establecerá en NO si se llama a clearDestinations o si llegamos a un punto de referencia.

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

Establece si la orientación debe detenerse automáticamente cuando se llama a -navigator:didLlegarAtWaypoint:.

Si la respuesta es NO, se seguirán mostrando el encabezado y pie de página de navegación después de la llegada. El encabezado de navegación seguirá mostrando el paso de guía final, y el pie de página de navegación seguirá actualizando el tiempo y la distancia restantes hasta que se alcance un valor de tiempo/distancia de 0. Además, se mantendrán las actualizaciones de -navigator:didUpdateRemainingTime y -navigator:didUpdateRemainingDistance. Establece de forma explícita guidanceActive en NO para detener las indicaciones y las actualizaciones de tiempo y distancia restantes.

Si la respuesta es SÍ, el 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 hasta el siguiente destino que activará la llamada al método navigator:didUpdateRemainingTime:.

Si se establece como NSTimeIntervalMax, se inhabilitarán las devoluciones de llamada de actualización de hora. 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:.
- (CLLocationDistance) distanceUpdateThreshold [read, write, assign]

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

Si se establece como CLLocationDistanceMax, se inhabilitarán las devoluciones de llamada de actualización de distancia. Si se establece en 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 dispositivo mientras la guía esté activa.

Muestra CLTimeIntervalMax si no hay una ruta disponible.

- (CLLocationDistance) distanceToNextDestination [read, assign]

Muestra la distancia estimada al siguiente 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 rutas disponibles o los datos de tráfico no están disponibles.

- (GMSRouteLeg*) currentRouteLeg [read, assign]

El tramo actual del viaje.

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

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

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

- (GMSPath*) traveledPath [read, assign]

La ruta que recorrió el dispositivo desde la última vez que GuideActive se estableció en YES.

Esta ruta estará vacía si la guía nunca comenzó. La ruta consta de la ubicación ajustada a la ruta como la muestra GMSRoadSnappedLocationProvider, pero simplificada para quitar los puntos redundantes. Por ejemplo, convertir puntos colineales consecutivos en un solo segmento de línea.

- (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 GMSNavigationVoiceOrientationAlertsAndGuidance.

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

La configuración predeterminada es GMSVoiceOrientationAudioDeviceTypeBluetooth.

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

Determina si el dispositivo también debe vibrar cuando se reproducen 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.

Es 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 mensajes de tráfico, incidentes y mejores rutas.

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 mayores. También puedes usar este método para personalizar el umbral de activación basado en el tiempo de la alerta de velocidad mayor.

Si configuras "nil", no recibirás datos del feed de límite de velocidad y se mostrará la alerta de velocidad predeterminada del NavSDK: la alerta de velocidad muestra un texto rojo cuando la velocidad supera el límite de velocidad (8 km/h), y muestra texto blanco y un fondo rojo cuando se supera los 20 km/h.