Questions fréquentes

Informations sur le produit

Réseau et connectivité

Données

Personnalisation de l'interface utilisateur

Routage

Simulateur

Workflows

Services de mobilité

Informations sur le produit

Votre application doit implémenter une boîte de dialogue contenant les conditions d'utilisation du SDK Navigation, que chaque utilisateur doit accepter. Cette boîte de dialogue permet à l'utilisateur d'accepter les conditions d'utilisation. Un fichier texte des conditions est fourni avec le SDK Navigation. Utilisez la méthode NavigationApi.showTermsAndConditionsDialog pour afficher la boîte de dialogue contenant les conditions d'utilisation.
Toutes les langues compatibles avec Google Maps pour mobile sont automatiquement disponibles pour le SDK Navigation. Un appareil dispose d'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. Une fois démarré, LocationListener continue de s'exécuter en arrière-plan. Votre application continue d'aligner la position sur la route et conserve l'orientation.

Oui. Lorsqu'un itinéraire est créé ou modifié, RouteChangeListener fournit des polylignes.

Non, le SDK Navigation ne nécessite pas l'installation de Google Maps Mobile sur l'appareil.
Non, le SDK Navigation ne propose pas cette fonctionnalité pour le moment.
Oui. La direction du trafic est disponible et affichée par défaut.
Quelles versions du JDK sont compatibles avec le SDK Navigation ?
Le SDK Navigation est compatible avec les versions LTS de Java SE activement prises en charge par Oracle. Ces versions sont listées comme bénéficiant de l'assistance Premier sur la feuille de route de l'assistance Oracle Java SE.

Réseau et connectivité

Comment le SDK Navigation gère-t-il une mauvaise connectivité réseau ?
Le SDK Navigation pré-met en cache l'itinéraire de chaque trajet. Les informations pré-mises en cache incluent les informations d'itinéraire pour 15 à 20 minutes, ainsi que les itinéraires alternatifs au cas où l'utilisateur s'écarterait de l'itinéraire. Le SDK Navigation estime la position à l'aide du GPS et des capteurs de l'appareil.
Comment le SDK Navigation gère-t-il les signaux GPS faibles ou perdus ?

Une fois la navigation lancée et que le SDK Navigation a reçu un signal GPS au moins une fois, il affiche le message "Recherche du signal GPS…" dans les situations suivantes :

  • Si plus de 10 secondes se sont écoulées depuis la dernière réception d'un signal GPS.
  • Si la position de l'itinéraire s'est déplacée de plus de 500 m depuis la dernière réception d'un signal GPS.

Si le SDK ne reçoit pas de signal GPS pendant une période prolongée, la progression le long de l'itinéraire, indiquée dans l'application par la position du chevron, peut ralentir jusqu'à s'arrêter complètement. Dans ce cas, le chevron sur la carte reste à l'emplacement indiqué par le dernier signal GPS. Le SDK ne quittera pas automatiquement le mode de navigation s'il ne reçoit pas de signal GPS. Toutefois, il se peut qu'il ne puisse pas vous guider tant qu'il n'aura pas reçu de signal à nouveau.

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 pré-mémorisées pour un trajet.

Données

Puis-je récupérer tous les arrêts/destinations d'un trajet avant de commencer l'itinéraire ?

Oui. Pour récupérer l'itinéraire d'un trajet, appelez Navigator.getRouteSegments().

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. De plus, l'utilisateur peut balayer 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 ?

Pour fournir des informations sur l'heure d'arrivée prévue aux utilisateurs de l'application, procédez comme suit :

  1. Récupérez la durée et la distance pour tous les points de cheminement à l'aide de Navigator.getTimeAndDistanceList().
  2. Transmettez ces informations à l'application cliente comme vous le faites pour l'heure d'arrivée prévue du conducteur.
Le RoadSnappedLocationProvider peut-il être utilisé pour obtenir la position actuelle de l'utilisateur si la navigation n'est pas au premier plan ?

Oui. RoadSnappedLocationProvider s'exécute en arrière-plan par défaut.

Le SDK Navigation est-il compatible avec le géorepérage ?

Non. Dans le contexte de la navigation, remainingTimeOrdistanceChangeListener présente un avantage par rapport à un geofence. La zone de géorepérage peut ne pas tenir compte de la géométrie de la route et ne pas être centrée sur le point exact vers lequel l'utilisateur se dirige.

Vous pouvez obtenir une approximation de cette fonctionnalité à l'aide de remainingTimeOrdistanceChangeListener.

  1. Définissez le seuil pour déterminer la fréquence des rappels.
  2. 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. À mesure que la distance diminue, vous pouvez réduire ce seuil et recevoir des rappels plus fréquents. Ensuite, inspectez la distance restante pour déterminer si vous êtes suffisamment proche du lieu de prise en charge/dépose.

Puis-je désactiver les notifications lorsque l'application Navigation est en arrière-plan ?

Oui. Utilisez Navigator.setHeadsUpNotificationEnabled pour contrôler les notifications. Cette méthode comporte un argument booléen. FALSE désactive les notifications ; TRUE les active.

L'enregistreur de transactions suit les prises en charge et les déposes à l'aide d'un identifiant unique, que Google enregistre à des fins d'analyse des produits. Si vous êtes un client des services de mobilité, Google vous recommande d'implémenter NavigationTransactionRecorder pour consigner un enregistrement de vos transactions.

Personnalisation de l'interface utilisateur

Puis-je appliquer un code couleur à l'option d'itinéraire la plus rapide ?
Non. Il n'est pas possible d'appliquer un code couleur à une option d'itinéraire spécifique pour le moment.
Le SDK Navigation peut-il afficher l'heure d'arrivée prévue pour la destination finale ?

Oui. Utilisez les méthodes suivantes :

  1. Récupérez la durée et la distance pour tous les points de cheminement à l'aide de Navigator.getTimeAndDistanceList().
  2. Masquez l'heure d'arrivée prévue du point de cheminement actuel à l'aide de NavigationFragment.setEtaCardEnabled(false).
  3. Affichez l'heure d'arrivée prévue à la destination finale.
Comment masquer les notifications d'heure d'arrivée prévue ?

Vous pouvez désactiver les cartes d'heure d'arrivée prévue en appelant navigationView.setEtaCardEnabled(false).

Quelles personnalisations de l'interface utilisateur sont disponibles pour les fiches d'en-tête et de pied de page ?

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 membres setHeaderEnabled et setFooterEnabled de NavigationFragment.

Routage

Puis-je fournir un itinéraire spécifique à un utilisateur ou supprimer les itinéraires alternatifs ?
Non. Par défaut, plusieurs itinéraires sont proposés, 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, par exemple "éviter les autoroutes et les péages". L'ajout de points de cheminement a également une incidence sur l'itinéraire.
Puis-je afficher un libellé de destination différent de l'emplacement de destination par défaut pour l'utilisateur de l'application ?

Oui. 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 le NavigationMap.

Puis-je utiliser le SDK Navigation pour suivre les écarts par rapport à un itinéraire défini ?

Oui. Utilisez Navigator.setRouteChangedListener pour recevoir des notifications lorsqu'un itinéraire change ou qu'un nouvel itinéraire est recommandé :

  1. Enregistrez un écouteur qui vérifie la position de l'appareil le long de l'itinéraire à l'aide de la méthode Navigator.setRouteChangedListener.
  2. Ajoutez du code au gestionnaire d'événements de rappel, onRouteChanged :
    • Envoyez un message à l'utilisateur de l'application avec l'heure d'arrivée prévue et la distance mises à jour.
    • Suivre la position de l'appareil
    • [Facultatif] Ajoutez d'autres fonctionnalités requises par votre application pour gérer les cas où l'utilisateur s'écarte de l'itinéraire prescrit.
L'utilisateur peut-il quitter la navigation sans terminer l'itinéraire ?

Oui. Appelez la méthode Navigator.stopGuidance pour arrêter la navigation.

Le SDK Navigation est-il compatible avec l'itinéraire et la navigation pour les camions et les véhicules de grande taille ?

Oui. Avec le routage des véhicules de grande taille (LVR), vous pouvez transmettre au SDK Navigation des jetons d'itinéraire spécifiques aux camions générés par l'API Routes ou l'API Route Optimization. Le SDK fournit une navigation détaillée avec des repères d'itinéraire (restrictions de hauteur, de poids, de matières dangereuses et de camions) et conserve le profil physique du véhicule lors du changement d'itinéraire dynamique. Pour en savoir plus, consultez Naviguer sur des itinéraires pour grands véhicules.

Simulateur

Le simulateur est-il compatible avec les changements d'itinéraire ?

Oui. Appelez simulateLocationsAlongNewRoute pour simuler un trajet incluant un changement d'itinéraire. La méthode simulateLocationsAlongExistingRoute ignore les modifications apportées à la route existante.

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). resume 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 rappelle l'activité lorsque l'utilisateur de l'application clique sur la notification.

Services de mobilité

En quoi l'utilisation du SDK Navigation est-elle différente pour les clients Mobility Services ?

Les services de mobilité Google Maps Platform proposent un ensemble d'API et de SDK pour répondre aux besoins des entreprises de transport et de logistique. Pour les clients des services de mobilité, le SDK Navigation est généralement utilisé avec des services associés pour l'optimisation des itinéraires, la répartition, le suivi des tâches, l'analyse de la flotte, etc. Le SDK Navigation est également facturé différemment pour les clients des services de mobilité. Pour en savoir plus, consultez la documentation sur les services de mobilité.

Les produits Mobility ne sont actuellement disponibles que pour certains clients. Pour en savoir plus, contactez votre conseiller commercial.

Comment savoir si je suis un client Mobility Services ?
Si vous ne savez pas si vous implémentez actuellement le SDK Navigation en tant que client Mobility Services, recherchez un appel ReportBillableEvent dans votre code. Seuls les clients Mobility Services doivent appeler la méthode ReportBillableEvent.

Comment le SDK Navigation est-il facturé aux clients Mobility Services ?
Pour les clients des services de mobilité, la facturation et la tarification du SDK Navigation dépendent du contrat de service que vous avez conclu avec Google Maps Platform. Pour savoir comment vérifier que votre implémentation des services de mobilité est facturée correctement, consultez Validation de la facturation. Pour en savoir plus sur la facturation des services de mobilité, contactez votre conseiller commercial.

Quelles API du SDK Navigation ne doivent être utilisées que par les clients Mobility Services ?

Le SDK Navigation contient plusieurs API destinées uniquement aux clients des services de mobilité, qui sont facturés par Google par transaction. Si vous n'êtes pas un client Mobility Services, les méthodes suivantes sont des opérations sans effet :

Si je suis un client Mobility Services, puis-je également utiliser une implémentation du SDK Navigation qui n'est pas liée à Mobility Services ?

Oui, les clients Mobility Services peuvent utiliser à la fois les implémentations Mobility Services et non Mobility Services du SDK Navigation. Toutefois, vous ne pouvez utiliser qu'un seul type d'implémentation dans une application à la fois. Vous devez également créer un projet Google Cloud, un compte de facturation et une clé API distincts de ceux que vous utilisez avec votre implémentation des services de mobilité. Pour en savoir plus, consultez la présentation de la configuration du SDK Navigation.

Pour en savoir plus sur l'utilisation d'une implémentation du SDK Navigation autre que Mobility Services, y compris sur la migration d'une application d'un type d'implémentation à un autre, contactez votre responsable de compte Google.

Remarque : Si vous n'êtes pas encore client Mobility Services et que vous souhaitez en savoir plus sur la collection d'API et de SDK Mobility Services, contactez l'équipe commerciale Google Maps Platform.