Le SDK Navigation propose différentes manières d'intégrer une expérience de 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'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 ce que propose 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 consister à éliminer complètement le guidage détaillé et à exécuter la navigation uniquement en tant que processus en arrière-plan, ou à 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'utilisation de l'expérience de navigation Google soit généralement plus facile à mettre en œuvre, créer 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, en suivant le flux suivant :
Démarrez la navigation. Pour démarrer une expérience de navigation personnalisée, créez une instance de navigation et définissez la destination. Obtenez l'instance Navigator à l'aide de
NavigationApi.getNavigator, puis inscrivez-vous pour recevoir des mises à jour à l'aide denavigator.registerServiceForNavUpdates.Pour en savoir plus, consultez Activer le flux de données de navigation détaillée.
Voir la démo : le téléchargement du SDK Navigation contient une démo que vous pouvez exécuter pour voir un exemple d'expérience de navigation qui passe de la navigation détaillée standard à 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.
Navigation active. Voici une autre différence majeure entre l'expérience de navigation fournie par Google et une expérience de navigation personnalisée. Au lieu de transmettre les 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 Écouter les événements de navigation.
Arrêtez la navigation. Comme pour l'expérience de navigation Google, la navigation personnalisée nécessite également que vous mettiez fin à la navigation de la manière la plus adaptée à l'expérience de l'application.
Quand pouvez-vous utiliser une expérience de navigation personnalisée ?
Le tableau suivant décrit certains scénarios de navigation personnalisés.
Exemple de scénario |
Étapes principales |
|---|---|
Vous devez fournir des instructions de navigation textuelles pour les petits appareils, tels que les véhicules à deux roues. |
Créez votre navigateur et configurez la navigation détaillée en tant que flux de données vers un appareil à petit écran, tandis que le navigateur s'exécute sur le téléphone mobile du conducteur, hors de son champ de vision immédiat. |
Vous souhaitez que votre application soit disponible en tant que service automobile pour les conducteurs qui utilisent Android Auto. |
Pour en savoir plus, consultez Activer la navigation pour Android Auto. |
Les conducteurs qui utilisent votre application souhaitent disposer d'un planisphère pour la majeure partie de leur trajet, avec seulement un minimum d'instructions de navigation détaillée pour les rues de la ville. |
Votre application doit permettre aux conducteurs d'accéder à l'expérience de navigation Google et d'en sortir selon leurs besoins, sans modifier les paramètres de destination et de mode de trajet du navigateur. |