Expérience de navigation personnalisée

Le SDK Navigation propose différentes manières d'intégrer une expérience de navigation à 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'expérience de navigation Google, qui vous permet d'intégrer une expérience de navigation détaillée utilisant des éléments d'interface utilisateur et des visuels fournis par Google, semblable à 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 fait référence à tout, qu'il s'agisse d'éliminer entièrement le guidage (avec la navigation en arrière-plan uniquement) ou de projeter 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 Navigation pour demander un flux de navigation détaillée, 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. Bien que l'expérience de navigation Google soit généralement plus facile à implémenter, la création de votre propre expérience de navigation personnalisée permet une plus grande 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 à l'aide du flux suivant:

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

    Pour en savoir plus, consultez la section Activer le flux de données de navigation détaillée.

    Voir 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 passe du guidage détaillé via la navigation standard à une expérience de navigation qui n'affiche que la position de l'appareil le long d'une polyligne de route.

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

  3. Terminer la navigation : Comme pour l'expérience de navigation Google, la navigation personnalisée nécessite également que vous arrêtiez 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 quelques scénarios de navigation personnalisés.

Exemple de scénario

Principales étapes

Vous devez fournir des conseils de conduite en texte seul pour les petits appareils tels que les véhicules à deux roues.

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

Vous souhaitez que votre application soit disponible en tant que service de voiture pour les conducteurs qui utilisent Apple Carplay.

  1. Configurer l'entretien automobile.
  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 Android Auto et remplissez les champs à partir du flux de données que vous avez configuré.

Pour en savoir plus, consultez la section Activer la navigation pour Carplay.

Les conducteurs qui utilisent votre application souhaitent obtenir une vue d'ensemble de la majeure partie de leur trajet, avec seulement un minimum de navigation détaillée dans les rues de la ville.

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