Documentation de référence de la classe GMSNavigator

Documentation de référence sur la classe GMSNavigator

Présentation

Il s'agit de la classe principale du SDK Google Navigation pour iOS. Elle fournit des méthodes pour contrôler la navigation vers une destination et 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 sécurisée. Toutes les méthodes doivent être appelées à partir du thread principal.

Fonctions de membre public

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

Propriétés

BOOLavoidsHighways
 Permet d'indiquer s'il faut éviter les autoroutes lors de la génération d'itinéraires vers des destinations.
BOOLavoidsTolls
 Permet d'indiquer si vous souhaitez é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.
GMSNavigationLicensePlateRestriction *licensePlateRestriction
 Définissez les restrictions de circulation liées à l'immatriculation en utilisant le dernier chiffre de la plaque d'immatriculation et le code pays du conducteur.
BOOLguidanceActive
 Indique si la navigation détaillée est actuellement activée.
BOOLstopGuidanceAtArrival
 Indique si le guidage doit s'arrêter automatiquement lorsque -navigator:didArriveAtWaypoint: est appelé.
NSTimeIntervaltimeUpdateThreshold
 Changement minimal de l'heure d'arrivée estimée jusqu'à la prochaine destination qui déclenchera l'appel de la méthode navigator:didUpdateRemainingTime:.
CLLocationDistancedistanceUpdateThreshold
 Modification minimale de la distance estimée jusqu'à la prochaine destination qui déclenchera l'appel de la méthode navigator:didUpdateRemainingDistance:.
NSTimeIntervaltimeToNextDestination
 Renvoie l'heure estimée de la prochaine destination.
CLLocationDistancedistanceToNextDestination
 Affiche la distance estimée à la prochaine destination.
GMSNavigationDelayCategorydelayCategoryToNextDestination
 Renvoie la catégorie de retard à la destination suivante.
GMSRouteLeg *currentRouteLeg
 Étape actuelle du voyage.
NSArray< GMSRouteLeg* > *.routeLegs
 Tableau de sections d'itinéraire, où chaque section correspond à une destination définie.
GMSPath *traveledPath
 Chemin que l'utilisateur a suivi au cours de la dernière session de guidage, défini comme la dernière fois que l'option "guidage actif" a été défini sur "OUI".
GMSNavigationVoiceGuidancevoiceGuidance
 Détermine si le guidage vocal doit être activé pour les conditions de circulation et les alertes de navigation détaillée.
GMSVoiceGuidanceAudioDeviceTypeaudioDeviceType
 Détermine les appareils audio par lesquels le guidage vocal peut être lu.
BOOLvibrationEnabled
 Détermine si l'appareil doit également vibrer en cas d'alerte vocale.
BOOLsendsBackgroundNotifications
 Détermine si les notifications UILocalNotifications contenant des informations seront présentées lorsque l'application sera exécutée en arrière-plan.
GMSNavigationLightingModesuggestedLightingMode
 Mode d'éclairage suggéré, basé sur l'heure de la journée et la position de l'appareil.
BOOLshouldDisplayPrompts
 Détermine si des invites concernant le trafic, de meilleurs itinéraires et des incidents doivent être affichés.
GMSNavigationSpeedAlertOptions *speedAlertOptions
 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é lorsqu'un itinéraire depuis la position de l'appareil vers la ou les destinations fournies est trouvé, ou qu'il ne l'est pas pour une raison indiquée par RouteStatus.
typedef void(^GMSRouteInfoCallback )(GMSNavigationRouteInfo *_Nullable routeInfo)
 Appelé lorsque les informations sur l'itinéraire (heure d'arrivée prévue et distance) jusqu'au point de cheminement fourni sont calculées.
typedef void(^GMSNavigationTransactionIDErrorHandler )(NSError *error)
 Appelé en cas d'échec de la définition des ID de transaction via setTransactionIDs

Documentation sur les fonctions membres

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

Ajoute un écouteur.

L'écouteur est conservé 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 la valeur "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, en ignorant les destinations précédemment définies.

Le rappel fourni sera appelé avec GMSRouteStatusOK si une route est trouvée entre la position 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 aucune route n'est trouvée pour une autre raison, le rappel est appelé avec un état d'erreur approprié.

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

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

Définit plusieurs destinations pour la navigation, en ignorant les destinations précédemment définies.

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

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

Définit plusieurs destinations de navigation en utilisant un jeton de route pour naviguer sur une route précalculée.

Les itinéraires sont identiques, mais les changements sont modulo en fonction du lieu de départ du conducteur, et des conditions de circulation et du trafic. Les nouveaux itinéraires seront toujours basés sur les options de routage encodées dans le jeton.

Seuls GMSNavigationTravelModeDriving et GMSNavigationTravelModeTwoWheeler sont pris en charge lorsque vous utilisez le jeton d'itinéraire 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 pris en charge, et une GMSRouteStatusTravelModeUnsupported est renvoyée dans le rappel.

Paramètres :
destinationsUn tableau de 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 route renvoyée par l'API RoutesPreferred. Les options de routage spécifiées dans l'API RoutesPreferred sont encodées dans ce jeton d'itinéraire et seront utilisées pour regénérer la route précalculée ou une nouvelle route lors du changement de routage.
rappelAppelé lorsqu'un itinéraire depuis la position du client vers la ou les destinations fournies est trouvé, ou qu'il ne l'est pas pour une raison indiquée par RouteStatus.
- (void) getRouteInfoForDestination: (GMSNavigationWaypoint *) destination
withRoutingOptions: (GMSNavigationRoutingOptions *) routingOptions
rappel: (GMSRouteInfoCallback) rappel

Renvoie des informations sur la route en fonction de la stratégie de routage (meilleure route par défaut ou route plus courte).

Cette méthode n'est disponible que pour les clients Services de mobilité, facturés par Google sur la base de chaque transaction. Affiche une valeur "nil" si le projet ne dispose pas des autorisations nécessaires pour appeler cette API.

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

Obsolète.

Appelez plutôt l'une des méthodes -setDestinations:... avec la nouvelle liste de destinations.

Supprime la première destination de la liste actuelle des destinations. Après cet appel, les instructions seront vers la prochaine destination, le cas échéant.

Renvoie :
Le guidage des points de cheminement se dirige désormais vers l'emplacement suivant ou est nul s'il ne reste plus aucun point de cheminement.
Remarque :
Cette fonctionnalité est obsolète. Utilisez plutôt l'une des méthodes -setDestinations:... .

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

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

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

Renvoie l'heure estimée du point de cheminement donné, ou la valeur CLTimeIntervalMax si le point de cheminement ne fait pas partie de l'itinéraire actuel.

Ces informations sont mises à 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 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 lorsque le guidage sera actif.

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

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

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

Les ID de transaction seront effacés à la fin de la session de navigation. Cette méthode n'est disponible que pour les clients des services de mobilité, qui sont facturés par Google sur la base de chaque transaction. Affiche une valeur "nil" si le projet ne dispose pas des autorisations nécessaires pour appeler cette API.

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 individuelle doit contenir entre un et 64 caractères. La liste peut être vide lorsque la transaction est terminée (mais que la session est toujours en cours).
errorHandlerBloc qui est 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é lorsqu'un itinéraire depuis la position de l'appareil vers la ou les destinations fournies est trouvé, ou qu'il ne l'est pas pour une raison indiquée par RouteStatus.

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

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

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

Appelé en cas d'échec de la définition des ID de transaction via setTransactionIDs

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


Documentation de la propriété

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

Permet d'indiquer s'il faut é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'indiquer si vous souhaitez é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".

- (GMSNavigationLicensePlateRestriction*) licensePlateRestriction [read, write, assign] (en anglais)

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

Cela nous permet de contourner certains types de restrictions de circulation en fonction du 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 le définiriez immédiatement après avoir obtenu le navigateur.

Définissez la valeur sur "nil" en l'absence de restrictions de circulation liées à l'immatriculation. La valeur par défaut est "nil".

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

Indique si la navigation détaillée est actuellement activée.

Si la valeur "guidage Active" est définie sur "YES", mais qu'aucun itinéraire n'est disponible actuellement, le guidage est lancé lorsqu'un itinéraire devient disponible. Cette propriété sera définie sur NO si clearDestinations est appelé 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 la réponse est "NON", l'en-tête et le pied de page de navigation continueront de s'afficher après l'arrivée. L'en-tête de navigation continuera d'afficher l'étape finale du guidage, et le pied de page de navigation continuera à mettre à jour le temps et la distance restants jusqu'à ce qu'un temps/distance de 0 soit atteint. De plus, les mises à jour de -navigator:didUpdateUpdateTime et -navigator:didUpdateUpdateDistance continueront d'être maintenues. Définissez explicitement guidanceActive sur NO pour arrêter le guidage et les mises à jour de temps/distance restantes.

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

La valeur par défaut est "YES".

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

Changement minimal de l'heure d'arrivée estimée jusqu'à la prochaine destination qui déclenchera l'appel de la méthode navigator:didUpdateRemainingTime:.

Si la valeur est définie sur NSTimeIntervalMax, les rappels de mise à jour de l'heure sont désactivés. Si cette valeur est négative, le seuil par défaut d'une seconde est 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 prochaine destination qui déclenchera l'appel de la méthode navigator:didUpdateRemainingDistance:.

Si elle est définie sur CLLocationDistanceMax, les rappels de mise à jour de la distance seront désactivés. Si elle est définie sur une valeur négative, le seuil par défaut d'un mètre est 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 de la prochaine destination.

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

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

- (CLLocationDistance) distanceToNextDestination [read, assign]

Affiche la distance estimée à la prochaine destination.

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

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

- (GMSNavigationDelayCategory) delayCategoryToNextDestination [read, assign]

Renvoie la catégorie de retard à la destination suivante.

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

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

- (GMSRouteLeg*) currentRouteLeg [read, assign]

Étape actuelle du voyage.

La position de départ de la GMSRouteLeg correspond à la position la plus récente connue (raccordée à la route) de l'appareil.

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

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

- (GMSPath*) traveledPath [read, assign]

Chemin que l'utilisateur a suivi au cours de la dernière session de guidage, défini comme la dernière fois que l'option "guidage actif" a été défini sur "OUI".

Le tracé est constitué d'emplacements avec des routes fermées renvoyés par GMSRoadSnappedLocationProvider et simplifiés pour générer des segments de ligne.

Remarque :
Le système interroge le client pour connaître les signaux GPS pour obtenir les données de localisation. Un signal GPS médiocre peut entraîner une interpolation supplémentaire, qui peut générer des itinéraires moins précis. Ce chemin d'accès est vide si le guidage n'a jamais démarré.
- (GMSNavigationVoiceGuidance) voiceGuidance [read, write, assign]

Détermine si le guidage vocal doit être activé pour les conditions de circulation et les alertes de navigation détaillée.

La valeur par défaut est GMSNavigationVoiceGuidanceAlertsAndGuidance.

– (GMSVoiceGuidanceAudioDeviceType) audioDeviceType [read, write, assign]

Détermine les appareils audio par 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 en cas d'alerte vocale.

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

Détermine si les notifications UILocalNotifications contenant des informations seront présentées lorsque l'application sera exécutée en arrière-plan.

La valeur par défaut est "YES".

Mode d'éclairage suggéré, basé sur l'heure de la journée et 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 être affichés.

La valeur par défaut est "YES".

– (GMSNavigationSpeedAlertOptions*) speedAlertOptions [read, write, assign]

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

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

Si vous sélectionnez "nil", vous ne recevrez aucune donnée concernant les excès de vitesse et l'alerte de vitesse par défaut du NavSDK s'affichera: l'alerte de vitesse s'affichera en rouge lorsque la vitesse dépasse la limite de 8 km/h ou à 10 km/h au-delà de la limite, et s'affichera en blanc avec un arrière-plan rouge si vous dépassez 10 km/h ou 20 km/h.