Expérience de navigation personnalisée

Le SDK Navigation propose différentes manières d'intégrer une navigation dans votre application. Cette page explique ce qu'est une expérience de navigation personnalisée et en quoi elle diffère des autres expériences de navigation disponibles dans le SDK Navigation.

Qu'est-ce qu'une expérience de navigation personnalisée ?

La principale façon d'implémenter le SDK Navigation consiste à utiliser l'application Google navigation expérience utilisateur, qui vous permet d'intégrer une expérience de navigation détaillée qui utilise Éléments d'interface utilisateur et visuels fournis par Google, semblables à l'expérience de navigation dans les applications Google Maps. Si vous avez besoin de plus de flexibilité que l'expérience de navigation Google, vous pouvez implémenter une expérience de navigation personnalisée. Une expérience de navigation personnalisée peut aller de l'élimination complète de la navigation par virage et de l'exécution de la navigation uniquement en tant que processus en arrière-plan à la projection d'une expérience de guidage hautement personnalisée sur un écran distinct de l'appareil qui exécute la navigation. Avec une expérience de navigation personnalisée, votre application appelle le SDK de navigation pour demander un flux de navigation par étapes, puis vous fournissez et gérez les éléments d'interface utilisateur et les visuels que l'utilisateur voit dans l'expérience de navigation. Même si l'utilisation de la navigation Google est généralement plus facile à implémenter, la création de votre propre expérience de navigation personnalisée permet plus de personnalisation.

Lorsque vous créez une expérience de navigation personnalisée, votre application appelle le SDK Navigation pour démarrer, exécuter et arrêter la navigation, en suivant le flux suivant :

  1. Démarrez la navigation. Comme pour l'expérience de navigation Google, une expérience de navigation personnalisée implique toujours de créer une instance de navigation et de définir la destination. Toutefois, avec une expérience de navigation personnalisée, vous devez d'abord établir une session de navigation à l'aide de GMSNavigationService.createNavigationSession, qui est un objet non-UI portant un état pouvant fonctionner avec ou sans contrôleur de vue.

    Pour en savoir plus, consultez l'article Activer les données de navigation détaillée flux.

    Regarder la démonstration : le téléchargement du SDK Navigation contient une démonstration que vous pouvez exécuter pour voir un exemple d'expérience de navigation qui bascule entre les instructions détaillées via la navigation standard et une expérience de navigation qui n'affiche que la position de l'appareil se déplaçant le long d'une polyligne de route.

  2. Navigation active : Voici une autre différence clé entre une expérience de navigation fournie par Google et une expérience de navigation personnalisée. Au lieu de transmettre des instructions au gestionnaire d'événements intégré du SDK Navigation, vous activez le flux de navigation détaillée et implémentez des gestionnaires d'événements. Cela permet à votre expérience de répondre aux événements décrits dans la section Écouter les événements de navigation.

  3. Arrêtez la navigation. Comme pour l'expérience de navigation Google, la navigation personnalisée vous oblige également à mettre fin à la navigation de la manière la plus adaptée à l'expérience de l'application.

Dans quels cas utiliser une expérience de navigation personnalisée ?

Le tableau suivant décrit certains scénarios de navigation personnalisée.

Exemple de scénario

Principales étapes

Vous devez fournir des instructions pour le conducteur sous forme de texte uniquement pour les petits appareils tels que les véhicules à deux roues.

Créer un navigateur et configurer la navigation détaillée sous forme de données à un appareil à petit écran pendant que le navigateur s'exécute sur le le téléphone mobile du conducteur en dehors du champ de vision direct.

Vous souhaitez rendre votre application disponible en tant que service de voiture pour les conducteurs qui utilisent Android Auto

  1. Configurez le service de voiture.
  2. Configurez votre projet SDK Navigation.
  3. Mettez en place un navigateur, si ce n'est pas déjà fait.
  4. Activer le flux de guidage détaillé.
  5. Dessinez la carte sur la surface de l'application automatique et renseignez les champs à partir du flux de données que vous avez configuré.

Pour en savoir plus, consultez Activer la navigation pour Android Auto.

Les conducteurs qui utilisent votre application veulent une carte d'ensemble pour la majeure partie de leur trajet, avec un guidage détaillé minimal pour les rues urbaines.

Votre application doit permettre aux conducteurs d'accéder et de quitter l'expérience de navigation Google selon leurs besoins, sans modifier les paramètres du navigateur pour la destination et le mode de trajet.