Documentation de référence de la classe GMSNavigator

Documentation de référence de la classe GMSNavigator

Présentation

Il s'agit de la classe principale du SDK Google Navigation pour iOS. Elle fournit des méthodes permettant de contrôler la navigation vers une destination, et d'accéder aux informations sur l'itinéraire et la progression.

Cette classe n'est pas compatible avec le sous-classement.

Cette classe n'est pas thread-safe. Toutes les méthodes doivent être appelées à partir du thread principal.

Fonctions de membre public

(void) - addListener:
 Ajoute un écouteur.
(BOOL) removeListener:
 Supprime un écouteur.
(void) - setDestinations:callback:
 Définit plusieurs destinations pour la navigation, remplaçant toutes les destinations précédemment définies.
(void) - setDestinations:routingOptions:callback:
 Définit plusieurs destinations pour la navigation, remplaçant toutes les destinations précédemment définies.
(void) - setDestinations:routeToken:callback:
 Définit plusieurs destinations pour la navigation à l'aide d'un jeton de route afin de naviguer sur une route précalculée.
(void) - getRouteInfoForDestination:withRoutingOptions:callback:
 Affiche des informations sur l'itinéraire en fonction de la stratégie de routage: meilleur itinéraire par défaut ou itinéraire plus court.
(peut avoir une valeur nulle pour GMSNavigationWaypoint *)continueToNextDestination
 Obsolète.
(void) clearDestinations
 Efface toutes les destinations définies précédemment et supprime tous les itinéraires calculés de la carte.
(NSTimeInterval)- timeToWaypoint:
 Renvoie la durée estimée du point de cheminement donné ou CLTimeIntervalMax si celui-ci ne fait pas partie de l'itinéraire actuel.
(CLLocationDistance)- distanceToWaypoint:
 Renvoie la distance estimée jusqu'au point de cheminement donné ou CLLocationDistanceMax si le point de cheminement ne fait pas partie de l'itinéraire actuel.
(void) - setTransactionIDs:errorHandler:
 Définit les ID de transaction en cours qui s'appliquent aux événements de navigation pendant la session de navigation en cours et les consigne sur le serveur.

Propriétés

BOOLavoidsHighways
 Permet d'éviter les autoroutes lors de la génération d'itinéraires vers des destinations.
BOOLavoidsTolls
 Permet d'éviter les routes à péage lorsque vous générez des itinéraires vers des destinations.
BOOLavoidsFerries
 Permet d'éviter les ferries lors de la génération d'itinéraires vers des destinations.
GMSNavigationLicensePlateRestrictionlicensePlateRestriction
 Définissez les restrictions de circulation liées à l'immatriculation en indiquant le dernier chiffre de la plaque d'immatriculation et le code pays du conducteur actuel.
BOOLguidanceActive
 Indique si la navigation détaillée est activée ou non.
BOOLstopGuidanceAtArrival
 Indique si le guidage doit s'arrêter automatiquement lorsque -navigator:didArriveAtWaypoint: est appelé.
NSTimeIntervaltimeUpdateThreshold
 Modification minimale du délai estimé pour la prochaine destination qui déclenchera l'appel de la méthode navigator:didUpdateRemainingTime:.
CLLocationDistancedistanceUpdateThreshold
 Modification minimale de la distance estimée jusqu'à la destination suivante qui déclenchera l'appel de la méthode navigator:didUpdateRemainingDistance:.
NSTimeIntervaltimeToNextDestination
 Renvoie l'heure estimée pour arriver à la destination suivante.
CLLocationDistancedistanceToNextDestination
 Renvoie la distance estimée jusqu'à la destination suivante.
GMSNavigationDelayCategorydelayCategoryToNextDestination
 Renvoie la catégorie de délai à la destination suivante.
GMSRouteLegcurrentRouteLeg
 Étape actuelle du parcours.
NSArray< GMSRouteLeg * > * routeLegs
 Tableau des sections d'un itinéraire, où chaque section correspond à une destination définie.
GMSPathtraveledPath
 Chemin parcouru par l'appareil depuis la dernière fois où guideActive a été défini sur "YES".
GMSNavigationVoiceGuidancevoiceGuidance
 Détermine si le guidage vocal doit être activé pour les alertes sur le trafic et la navigation détaillée.
GMSVoiceGuidanceAudioDeviceTypeaudioDeviceType
 Permet de déterminer les appareils audio pour lesquels le guidage vocal peut être lu.
BOOLvibrationEnabled
 Détermine si l'appareil doit également vibrer lors de la lecture d'alertes vocales.
BOOLsendsBackgroundNotifications
 Détermine si UILocalNotifications contenant des informations de guidage est affichée lorsque l'application est exécutée en arrière-plan.
GMSNavigationLightingModesuggestedLightingMode
 Mode d'éclairage suggéré en fonction de l'heure et de la position de l'appareil.
BOOLshouldDisplayPrompts
 Détermine si des invites concernant le trafic, de meilleurs itinéraires et des incidents doivent s'afficher.
GMSNavigationSpeedAlertOptionsspeedAlertOptions
 GMSNavigationSpeedAlertOptions pour personnaliser les seuils de déclenchement de GMSNavigationSpeedAlertSeverity.

Notez qu'il ne s'agit pas de fonctions membres.

typedef void(^ GMSRouteStatusCallback )(GMSRouteStatus routeStatus)
 Appelée lorsqu'un itinéraire entre l'emplacement de l'appareil et la ou les destinations fournies est trouvé ou qu'il n'est pas trouvé pour une raison indiquée par RouteStatus.
typedef void(^ GMSRouteInfoCallback )(GMSNavigationRouteInfo *_Nullable routeInfo)
 Appelée lorsque les informations sur l'itinéraire (heure d'arrivée prévue et distance) vers le point de cheminement fourni sont calculées.
typedef void(^ GMSNavigationTransactionIDErrorHandler )(NSError *erreur)
 Appelé si la définition d'ID de transaction via setTransactionIDs échoue.

Documentation sur les fonctions de membre

- (void) addListener: (id< GMSNavigatorListener >) écouteur

Ajoute un écouteur.

L'écouteur est tenu avec une référence faible.

Paramètres :
écouteurObjet conforme au protocole GMSNavigatorListener.
– (BOOL) removeListener: (id< GMSNavigatorListener >) écouteur

Supprime un écouteur.

Paramètres :
écouteurObjet conforme au protocole GMSNavigatorListener.
Renvoie :
Renvoie YES si l'écouteur a été supprimé. Renvoie NO si l'objet n'était pas un écouteur.
- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) destinations
rappel: (GMSRouteStatusCallback). rappel

Définit plusieurs destinations pour la navigation, remplaçant toutes les destinations précédemment définies.

Le rappel fourni sera appelé avec GMSRouteStatusOK si une route est trouvée entre l'emplacement de l'appareil et la destination donnée. Si une nouvelle destination est définie avant qu'une route ne soit trouvée, la requête est annulée et le rappel est appelé avec GMSRouteStatusCanceled. Si un itinéraire est introuvable pour une autre raison, le rappel est appelé avec un état d'erreur approprié.

Le rappel sera toujours envoyé de manière asynchrone sur la file d'attente principale.

- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) destinations
routageOptions: (GMSNavigationRoutingOptions *). routingOptions
rappel: (GMSRouteStatusCallback). rappel

Définit plusieurs destinations pour la navigation, remplaçant toutes les destinations précédemment définies.

Les routes renvoyées sont calculées à l'aide des options de routage.

Paramètres :
destinationsTableau des points de cheminement de destination.
routingOptionsOptions qui influencent la logique de routage (stratégie de routage).
rappelAppelée lorsqu'un itinéraire entre l'emplacement du consommateur et la ou les destinations fournies est trouvé ou qu'il n'est pas trouvé pour une raison indiquée par RouteStatus.
- (void) setDestinations: (NSArray< GMSNavigationWaypoint * > *) destinations
routeToken: (NSString *) routeToken
rappel: (GMSRouteStatusCallback). rappel

Définit plusieurs destinations pour la navigation à l'aide d'un jeton de route afin de naviguer sur une route précalculée.

Les itinéraires seront identiques : les changements modulo seront effectués en fonction du lieu de départ du conducteur et des conditions de circulation. Des réacheminements seront toujours effectués en fonction des options de routage encodées dans le jeton.

Seuls GMSNavigationTravelModeDriving et GMSNavigationTravelModeTwoWheeler sont pris en charge lorsque vous utilisez le jeton de route pour démarrer une session de navigation. Configurez le mode de transport en définissant travelMode. L'appel échoue si le mode de transport actuel n'est pas compatible, et un GMSRouteStatusTravelModeUnsupported est renvoyé dans le rappel.

Paramètres :
destinationsLe tableau des points de cheminement de destination doit être identique aux destinations fournies à l'API RoutesPreferred pour obtenir le jeton d'itinéraire.
routeTokenChaîne de jeton de routage renvoyée par l'API RoutesPreferred. Les options de routage spécifiées dans l'API RoutesPreferred sont encodées dans ce jeton de routage. Elles seront utilisées pour regénérer la route précalculée ou une nouvelle route en cas de réacheminement.
rappelAppelée lorsqu'un itinéraire entre l'emplacement du client et la ou les destinations fournies est trouvé ou qu'il n'est pas trouvé pour une raison indiquée par RouteStatus.
- (void) getRouteInfoForDestination: (GMSNavigationWaypoint *). destination
withRoutingOptions: (GMSNavigationRoutingOptions *). routingOptions
rappel: (GMSRouteInfoCallback). rappel

Affiche des informations sur l'itinéraire en fonction de la stratégie de routage: meilleur itinéraire par défaut ou itinéraire plus court.

Renvoie une valeur nil si le projet ne dispose pas des autorisations nécessaires pour appeler cette API.

Paramètres :
destinationPoint de cheminement de destination.
routingOptionsOptions utilisées pour récupérer les informations sur l'itinéraire. Les stratégies de routage et les stratégies d'itinéraires alternatifs sont ignorées, car cette méthode renvoie les informations sur l'itinéraire pour toutes les stratégies de routage.
rappelRappel appelé lors de la réception d'informations sur les routes.
- (qui peut avoir une valeur nulle pour GMSNavigationWaypoint *) continueToNextDestination

Obsolète.

Appelez l'une des méthodes -setDestinations:... avec la nouvelle liste de destinations au lieu d'appeler cette méthode.

Affiche la première destination de la liste actuelle des destinations. Après cet appel, le guidage vous suivra vers la prochaine destination, le cas échéant.

Renvoie :
Le guidage au niveau des points de cheminement se dirige maintenant vers le point, ou il est nul s'il ne reste aucun point de cheminement.
Remarque :
Cette fonctionnalité est obsolète. Utilisez plutôt l'une des méthodes -setDestinations:...
– (void) clearDestinations

Efface toutes les destinations définies précédemment et supprime tous les itinéraires calculés de la carte.

Si le guidage est actif, il s'arrête automatiquement.

- (NSTimeInterval) timeToWaypoint: (GMSNavigationWaypoint *). point de cheminement

Renvoie la durée estimée du point de cheminement donné ou CLTimeIntervalMax si celui-ci ne fait pas partie de l'itinéraire actuel.

Elle est mise à jour en fonction de la position actuelle de l'appareil lorsque le guidage est actif.

Renvoie CLTimeIntervalMax si le point de cheminement fourni n'est pas une destination de l'itinéraire actuel.

- (CLLocationDistance) distanceToWaypoint: (GMSNavigationWaypoint *). point de cheminement

Renvoie la distance estimée jusqu'au point de cheminement donné ou CLLocationDistanceMax si le point de cheminement ne fait pas partie de l'itinéraire actuel.

Elle sera mise à jour en fonction de la position actuelle de l'appareil tant que le guidage est actif.

Renvoie CLLocationDistanceMax si le point de cheminement fourni n'est pas une destination de l'itinéraire actuel.

- (void) setTransactionIDs: (NSArray< NSString * > *) transactionIDs
errorHandler: (GMSNavigationTransactionIDErrorHandler peut avoir une valeur nulle) errorHandler

Définit les ID de transaction en cours qui s'appliquent aux événements de navigation pendant la session de navigation en cours et les consigne sur le serveur.

Les ID de transaction seront supprimés à la fin de la session de navigation.

Paramètres :
transactionIDsID de transaction qui s'appliquent à la session de navigation en cours. L'ID de transaction doit être unique pour chaque transaction facturable. Un ID de transaction individuel doit comporter au moins un caractère et au maximum 64 caractères. La liste peut être vide lorsqu'une transaction est terminée (mais que la session est toujours en cours).
errorHandlerBloc qui sera appelé de manière asynchrone sur le thread principal si une erreur se produit lorsque les ID de transaction ne sont pas valides.

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

Appelée lorsqu'un itinéraire entre l'emplacement de l'appareil et la ou les destinations fournies est trouvé ou qu'il n'est pas trouvé pour une raison indiquée par RouteStatus.

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

Appelée lorsque les informations sur l'itinéraire (heure d'arrivée prévue et distance) vers le point de cheminement fourni sont calculées.

Paramètres :
routeInfoInformations sur l'itinéraire vers la destination donnée. La valeur sera "nil" en cas d'échec du calcul.
- (typedef void(^ GMSNavigationTransactionIDErrorHandler)(NSError *error)) [related]

Appelé si la définition d'ID de transaction via setTransactionIDs échoue.

Pour en savoir plus, consultez la documentation de l'API.


Documentation sur la propriété

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

Permet d'éviter les autoroutes lors de la génération d'itinéraires vers des destinations.

La valeur par défaut est "NO".

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

Permet d'éviter les routes à péage lorsque vous générez des itinéraires vers des destinations.

La valeur par défaut est "NO".

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

Permet d'éviter les ferries lors de la génération d'itinéraires vers des destinations.

La valeur par défaut est "YES".

Définissez les restrictions de circulation liées à l'immatriculation en indiquant le dernier chiffre de la plaque d'immatriculation et le code pays du conducteur actuel.

Cela nous permet de contourner certains types de routes soumises à des restrictions en fonction de leur numéro de plaque d'immatriculation. Cela ne s'appliquera qu'aux appels setDestinations effectués après la définition de cette valeur. Idéalement, vous devriez définir ces paramètres immédiatement après avoir obtenu le navigateur.

Définissez la valeur sur "nil" si aucune restriction ne s'applique selon l'immatriculation. La valeur par défaut est "nil".

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

Indique si la navigation détaillée est activée ou non.

Si le paramètre "guidage" est défini sur "OUI", mais qu'aucun itinéraire n'est disponible actuellement, le guidage démarrera lorsqu'un itinéraire sera disponible. Cette propriété est définie sur "NO" si la fonction clearDestinations est appelée ou si nous arrivons à un point de cheminement.

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

Indique si le guidage doit s'arrêter automatiquement lorsque -navigator:didArriveAtWaypoint: est appelé.

Si cette option n'est pas affichée, l'en-tête et le pied de page de navigation continuent de s'afficher après l'arrivée. L'en-tête de navigation continuera d'afficher la dernière étape de guidage, et le pied de page de navigation continuera d'actualiser le temps et la distance restants jusqu'à ce qu'une durée/distance de 0 soit atteinte. De plus, les mises à jour de -navigator:didUpdate AdXTime et -navigator:didUpdateDiscountDistance continueront de s'actualiser. Définissez explicitement guidanceActive sur "NO" pour arrêter le guidage et les mises à jour de temps/distance restantes.

Si "YES", guidanceActive est automatiquement défini sur "NO" à l'arrivée.

La valeur par défaut est "YES".

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

Modification minimale du délai estimé pour la prochaine destination qui déclenchera l'appel de la méthode navigator:didUpdateRemainingTime:.

Si cette valeur est définie sur NSTimeIntervalMax, les rappels de mise à jour de l'heure sont désactivés. Si la valeur est négative, le seuil par défaut d'une seconde sera utilisé. La valeur par défaut est une seconde.

Remarque :
Cette valeur est ignorée si aucun écouteur n'implémente navigator:didUpdateRemainingTime:.
- (CLLocationDistance) distanceUpdateThreshold [read, write, assign]

Modification minimale de la distance estimée jusqu'à la destination suivante qui déclenchera l'appel de la méthode navigator:didUpdateRemainingDistance:.

Si ce paramètre est défini sur CLLocationDistanceMax, les rappels de mise à jour de la distance seront désactivés. Si la valeur est négative, le seuil par défaut d'un mètre sera utilisé. La valeur par défaut est un mètre.

Remarque :
Cette valeur est ignorée si aucun écouteur n'implémente navigator:didUpdateRemainingDistance:.
- (NSTimeInterval) timeToNextDestination [read, assign]

Renvoie l'heure estimée pour arriver à la destination suivante.

Elle sera mise à jour en fonction de la position actuelle de l'appareil tant que le guidage est actif.

Renvoie CLTimeIntervalMax si aucun itinéraire n'est disponible.

- (CLLocationDistance) distanceToNextDestination [read, assign]

Renvoie la distance estimée jusqu'à la destination suivante.

Elle sera mise à jour en fonction de la position actuelle de l'appareil tant que le guidage est actif.

Renvoie CLLocationDistanceMax si aucun itinéraire n'est disponible.

- (GMSNavigationDelayCategory) delayCategoryToNextDestination [read, assign]

Renvoie la catégorie de délai à la destination suivante.

Elle sera mise à jour en fonction de la position actuelle de l'appareil tant que le guidage est actif.

Renvoie GMSNavigationDelayCategoryNoData si aucun itinéraire n'est disponible ou si les données de trafic ne sont pas disponibles.

- (GMSRouteLeg*) currentRouteLeg [read, assign]

Étape actuelle du parcours.

La position de départ de GMSRouteLeg correspond à la position la plus récente de l'appareil (en cas de connexion sur la route).

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

Tableau des sections d'un itinéraire, où chaque section correspond à une destination définie.

- (GMSPath*) traveledPath [read, assign]

Chemin parcouru par l'appareil depuis la dernière fois où guideActive a été défini sur "YES".

Ce chemin est vide si le guidage n'a jamais démarré. Le tracé correspond à l'emplacement associé à la route (renvoyé par GMSRoadSnappedLocationProvider), mais il a été simplifié pour supprimer les points redondants. Par exemple, transformer des points colinéaires consécutifs en un segment de ligne unique.

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

Détermine si le guidage vocal doit être activé pour les alertes sur le trafic et la navigation détaillée.

La valeur par défaut est GMSNavigationVoiceGuidanceAlertsAndGuidance.

Permet de déterminer les appareils audio pour lesquels le guidage vocal peut être lu.

La valeur par défaut est GMSVoiceGuidanceAudioDeviceTypeBluetooth.

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

Détermine si l'appareil doit également vibrer lors de la lecture d'alertes vocales.

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

Détermine si UILocalNotifications contenant des informations de guidage est affichée lorsque l'application est exécutée en arrière-plan.

La valeur par défaut est "YES".

Mode d'éclairage suggéré en fonction de l'heure et de la position de l'appareil.

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

Détermine si des invites concernant le trafic, de meilleurs itinéraires et des incidents doivent s'afficher.

La valeur par défaut est "YES".

GMSNavigationSpeedAlertOptions pour personnaliser les seuils de déclenchement de GMSNavigationSpeedAlertSeverity.

Vous pouvez utiliser cette propriété pour personnaliser les seuils de déclenchement des alertes de vitesse en pourcentage pour les alertes mineures et majeures. Vous pouvez également utiliser cette méthode pour personnaliser le seuil de déclenchement en fonction de l'heure pour les alertes de vitesse majeure.

Si vous définissez la valeur "nil", vous ne recevrez aucune donnée de vitesse, et l'alerte de vitesse par défaut du NavSDK s'affichera: l'alerte de vitesse affichera un texte en rouge lorsque la vitesse dépasse 5 mph ou 10 km/h au-delà de la limite, et un texte blanc et un arrière-plan rouge si la vitesse est supérieure à 10 ou 20 km/h.