Questions fréquentes
Infos produit
- Comment l'avis des conditions d'utilisation du SDK Navigation doit-il s'afficher ?
- Quelles sont les langues compatibles avec le guidage vocal ?
- L'orientation est-elle maintenue lorsque le conducteur quitte le mode de navigation ?
- Les polylignes sont-elles disponibles au début ou à la modification d'un itinéraire ?
- Les utilisateurs de l'application doivent-ils avoir installé Google Maps pour mobile ?
- Le SDK Navigation peut-il identifier les places de stationnement à proximité de restaurants et d'autres destinations ?
- Le SDK Navigation affiche-t-il le sens de circulation dans les voies à l'approche d'un virage ?
Réseau
- Comment le SDK Navigation gère-t-il une mauvaise connectivité ?
- Un mode hors connexion est-il disponible ?
Données
- Puis-je récupérer tous les arrêts/destinations d'un trajet avant de commencer l'itinéraire ?
- La navigation détaillée est-elle disponible au début d'un itinéraire ?
- Comment l'heure d'arrivée prévue est-elle communiquée aux utilisateurs de l'application ?
- Le
RoadSnappedLocationProvider
peut-il être utilisé pour obtenir la position actuelle du conducteur si la navigation n'est pas au premier plan ? - Le SDK Navigation est-il compatible avec le géorepérage ?
- Puis-je désactiver les notifications lorsque l'application Navigation est en arrière-plan ?
- Comment consulter le journal des transactions conservé par Google ?
Personnalisation de l'interface utilisateur
- Puis-je attribuer un code couleur à la meilleure option d'itinéraire ?
- Le SDK Navigation peut-il afficher l'heure d'arrivée prévue pour la destination finale ?
- Comment masquer les mises à jour de l'heure d'arrivée prévue ?
- Quelles personnalisations d'interface utilisateur sont disponibles pour les fiches d'en-tête et de pied de page ?
Itinéraires
- Puis-je fournir un itinéraire spécifique à un conducteur ou supprimer d'autres itinéraires ?
- Puis-je indiquer au conducteur pour la destination un libellé différent de celui de l'emplacement de destination par défaut ?
- Puis-je utiliser le SDK Navigation pour suivre les écarts par rapport à un chemin défini ?
- Le conducteur peut-il quitter la navigation sans terminer l'itinéraire ?
Simulateur
Workflows
Infos produit
- Votre application doit implémenter une boîte de dialogue avec les conditions d'utilisation du SDK Navigation que chaque conducteur doit accepter. Cette boîte de dialogue permet au conducteur d'accepter les conditions d'utilisation. Un fichier texte contenant les conditions d'utilisation est fourni avec le SDK Navigation.
- Dans Android, utilisez la méthode
NavigationApi.showTermsAndConditionsDialog
pour afficher la boîte de dialogue contenant les termes. - Dans iOS, appelez
GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName
. - Toutes les langues compatibles avec Google Maps pour mobile sont automatiquement disponibles pour le SDK Navigation. Un appareil utilise une langue système par défaut et une application ne peut pas modifier ce paramètre. Toutefois, l'application a accès à plus de 70 langues.
-
Oui. Dans Android, une fois lancé,
LocationListener
continue de s'exécuter en arrière-plan. Votre application poursuit l'ancrage de la position de la route et maintient l'orientation.Sous iOS, pour continuer à recevoir des mises à jour de la position et de l'orientation en arrière-plan, implémentez l'ancrage de la route et définissez
allowsBackgroundLocationUpdates
surYES
. -
Oui. Lorsqu'un itinéraire est créé ou modifié, le
RouteChangeListener
fournit des polylignes. - Non. Le SDK Navigation ne nécessite pas que Google Maps Mobile soit installé sur l'appareil.
- Non, le SDK Navigation ne propose pas cette fonctionnalité pour le moment.
- Oui. Le sens de circulation est disponible et affiché par défaut.
Réseau
- Comment le SDK Navigation gère-t-il la mauvaise connectivité ?
- Le SDK Navigation met en cache l'itinéraire pour chaque trajet. Les informations pré-mises en cache incluent les informations d'itinéraire pendant 15 à 20 minutes, ainsi que des itinéraires alternatifs si le conducteur s'écarte de celui-ci. Le SDK Navigation détermine la position approximative à l'aide du GPS et des capteurs de l'appareil.
- Un mode hors connexion est-il disponible ?
- Non, le SDK Navigation ne propose pas de mode hors connexion pour le moment. Toutefois, il fournit des informations en pré-cache pour un parcours.
Données
- Puis-je récupérer tous les arrêts/destinations d'un trajet avant de commencer l'itinéraire ?
-
Oui. Dans Android, pour récupérer l'itinéraire d'un itinéraire, appelez
Navigator.getRouteSegments()
.Dans iOS, appelez
GMSNavigator.routeLegs(read)
. - La navigation détaillée est-elle disponible au début d'un itinéraire ?
- Oui. Le SDK Navigation fournit une liste de segments d'itinéraire. En outre, le conducteur peut parcourir la fiche d'itinéraire dans l'en-tête pour voir chaque manœuvre.
- Comment l'heure d'arrivée prévue est-elle communiquée aux utilisateurs de l'application ?
-
Dans Android, procédez comme suit pour fournir des informations sur l'heure d'arrivée prévue aux utilisateurs de l'application:
- Récupérez le temps et la distance de tous les points de cheminement à l'aide de
Navigator.getTimeAndDistanceList()
. - Transférez ces informations à l'application cliente comme vous le faites actuellement pour l'heure d'arrivée prévue du conducteur.
Sous iOS, procédez comme suit pour fournir des informations sur l'heure d'arrivée prévue aux utilisateurs de l'application:
- Récupérez les étapes du trajet à l'aide de
Navigator.getRouteSegments()
. - Appelez
GMSNavigator.timeToNextDestination
pour chaque étape du trajet. - Transférez les informations temporelles à l'application cliente, comme vous le faites actuellement pour l'heure d'arrivée prévue du pilote.
- Récupérez le temps et la distance de tous les points de cheminement à l'aide de
-
Le
RoadSnappedLocationProvider
peut-il être utilisé pour obtenir la position actuelle du conducteur si la navigation n'est pas au premier plan ? -
Oui. Dans Android,
RoadSnappedLocationProvider
s'exécute en arrière-plan par défaut.Dans iOS, pour que la navigation continue de s'exécuter en arrière-plan, implémentez le délégué pour
GMSRoadSnappedLocationProviderDelegate
et définissez la propriétéallowsBackgroundLocationUpdates
surTRUE
. - Le SDK Navigation est-il compatible avec le géorepérage ?
-
Non. En ce qui concerne la navigation,
remainingTimeOrdistanceChangeListener
présente un avantage par rapport à une zone de géorepérage simple. Il est possible que la zone de géorepérage ne tient pas compte de la géométrie de la route et qu'elle ne soit pas centrée sur le point exact vers lequel se dirige le conducteur.Vous pouvez estimer cette fonctionnalité à l'aide de
remainingTimeOrdistanceChangeListener
.- Définissez le seuil pour déterminer la fréquence des rappels.
- Vérifiez la distance restante jusqu'à la destination.
Par exemple, si vous définissez le seuil sur 100 m, vous recevez un rappel lorsque la distance jusqu'à la destination change de 100 m. Lorsque la distance diminue, vous pouvez définir une valeur inférieure pour ce seuil et recevoir des rappels plus fréquents. Examinez ensuite la distance restante pour déterminer si vous êtes suffisamment proche du lieu de prise en charge/dépôt.
Dans iOS, implémentez le délégué
GMSNavigatorDelegate.didUpdateRemainingDistance
pour gérer la distance entre les notifications. - Puis-je désactiver les notifications lorsque l'application Navigation est en arrière-plan ?
-
Oui. Dans Android, utilisez
Navigator.setHeadsUpNotificationEnabled
pour contrôler les notifications. Cette méthode comporte un argument booléen.FALSE
désactive les notifications ;TRUE
les active.Dans iOS, désactivez la notification en arrière-plan pour les lieux signalés par une route en définissant
GMSRoadSnappedLocationProviderDelegate.allowsBackgroundLocationUpdates
sur "NON".Pour désactiver le traitement en arrière-plan pour les autres notifications de position, appelez
GMSNavigator.sendsBackgroundNotifications(NO)
. -
L'enregistreur de transactions suit les lieux de prise en charge et de dépose à l'aide d'un identifiant unique, que Google enregistre pour la facturation. Pour en savoir plus, consultez les instructions de test d'implémentation pour votre plate-forme:
Pour en savoir plus sur le codage des transactions de facturation, consultez la page Transactions facturables.
Personnalisation de l'interface utilisateur
- Puis-je attribuer un code couleur au meilleur itinéraire ?
- Non. Le codage couleur d'une option d'itinéraire spécifique n'est pas disponible pour le moment.
- Le SDK Navigation peut-il afficher l'heure d'arrivée prévue pour la destination finale ?
-
Oui. Sous Android, utilisez les méthodes suivantes:
- Récupérez le temps et la distance de tous les points de cheminement à l'aide de
Navigator.getTimeAndDistanceList()
. - Masquer l'heure d'arrivée prévue du point de cheminement actuel avec
NavigationFragment.setEtaCardEnabled(false)
. - Affichez l'heure d'arrivée prévue finale.
Dans iOS, utilisez le code suivant:
- Appelez
GMSNavigator.routeLegs(read)
. - Pour la dernière section, appelez
GMSNavigator.timeToNextDestination
. - Masquer l'heure d'arrivée prévue du point de cheminement actuel en utilisant
MSMapView.settings.navigationFooterEnabled=NO
sur FALSE. - Affichez l'heure d'arrivée prévue finale.
- Récupérez le temps et la distance de tous les points de cheminement à l'aide de
- Comment masquer les mises à jour de l'heure d'arrivée prévue ?
-
Vous pouvez désactiver les cartes heure d'arrivée prévue à l'aide des méthodes suivantes:
- Sous Android, utilisez
navigationView.setEtaCardEnabled(false)
. - Sous iOS, utilisez
GMSMapView.settings.navigationFooterEnabled=NO
.
- Sous Android, utilisez
-
Dans Android, vous utilisez
StylingOptions
pour définir le style de la couleur d'arrière-plan. Pour masquer ou afficher l'en-tête et le pied de page, utilisez les fonctions membressetHeaderEnabled
etsetFooterEnabled
deNavigationFragment
.Sous iOS, utilisez
GMSMapView.settings.navigationHeaderPrimaryBackgroundColor
pour définir le style de la couleur d'arrière-plan. Pour masquer ou afficher l'en-tête et le pied de page, utilisez les propriétésnavigationFooterEnabled
etnavigationHeaderEnabled
deGMSUISettings
.
Itinéraires
- Puis-je fournir un itinéraire spécifique à un conducteur ou supprimer d'autres itinéraires ?
- Non. Par défaut, plusieurs routes sont fournies, et l'itinéraire le plus rapide est prioritaire. Vous pouvez modifier l'itinéraire par défaut en ajoutant des préférences à votre requête, telles que "Éviter les autoroutes et les péages". L'ajout de points de cheminement affecte également l'itinéraire.
- Puis-je indiquer à l'utilisateur de l'application un libellé différent de celui de l'emplacement de destination par défaut ?
-
Oui. Dans Android, créez un
Marker
avec un titre personnalisé pour la destination et la latitude/longitude. Le SDK Navigation affiche le titre personnalisé et les coordonnées sur leNavigationMap
.Dans iOS, vous créez et affichez un
GMSMarker
pour la destination. - Puis-je utiliser le SDK Navigation pour suivre les écarts par rapport à un chemin défini ?
-
Oui. Dans Android, utilisez
Navigator.setRouteChangedListener
pour recevoir des notifications lorsqu'un itinéraire change ou qu'un nouvel itinéraire est recommandé:- Enregistrez un écouteur qui vérifie la position de l'appareil sur la route à l'aide de la méthode
Navigator.setRouteChangedListener
. - Ajoutez du code au gestionnaire d'événements de rappel,
onRouteChanged
:- Envoyez un message à l'utilisateur de l'application avec des informations actualisées sur l'heure d'arrivée prévue et la distance.
- Suivez la position de l'appareil.
- [Facultatif] Ajoutez d'autres fonctionnalités requises par votre application à gérer lorsque le conducteur s'éloigne de l'itinéraire prévu.
Dans iOS, utilisez
GMSNavigator
et ses délégués pour recevoir des notifications lorsqu'un itinéraire change ou qu'un nouvel itinéraire est recommandé:- Sur le contrôleur de vue de la carte, implémentez les protocoles
GMSNavigatorDelegate
etGMSRoadSnappedLocationProviderDelegate
. - Implémentez
GMSNavigatorDelegate.navigatorDidChangeRoute
. - Accédez à la nouvelle route à l'aide des propriétés
routeLegs
etcurrentRouteLeg
deGMSNavigator
.
- Enregistrez un écouteur qui vérifie la position de l'appareil sur la route à l'aide de la méthode
-
Oui. Dans Android, appelez la méthode
Navigator.stopGuidance()
pour arrêter la navigation.Dans iOS, appelez
GMSNavigator.clearDestinations
.
Simulateur
- Le simulateur prend-il en charge les modifications d'itinéraire ?
-
Oui. Dans Android, appelez
simulateLocationsAlongNewRoute
pour simuler un trajet comprenant un changement d'itinéraire. La méthodesimulateLocationsAlongExistingRoute
ignore les modifications apportées à la route existante.Dans iOS, utilisez
GMSLocationSimulator.simulateAlongNewRouteToDestinations
pour simuler un trajet avec changement d'itinéraire. Si vous ne prévoyez aucun changement d'itinéraire, vous pouvez utiliserGMSLocationSimulator.simulateLocationsAlongExistingRoute
ouGMSLocationSimulator.simulateAlongNewRouteToDestinations
.
Workflows
- Comment ignorer la notification après avoir fermé une activité contenant un fragment de navigation ?
-
La notification de navigation reste visible pendant la navigation, lorsque l'activité est fermée. Lorsque le véhicule arrive à destination, la navigation s'arrête et la notification disparaît.
Pour gérer les clics sur la notification, utilisez
Navigator.startGuidance(intent resumeIntent)
. Leresume intent
se déclenche lorsque l'utilisateur de l'application clique sur la notification. En règle générale,Navigator.startguidance(getIntent())
est appelé à partir de l'activité principale, qui le rappelle lorsque l'utilisateur de l'application clique sur la notification.