API Route Overview

L'API Route Overview est un produit de solution Last Mile Fleet basé sur le DriverSDK. Elle vous permet de récupérer des informations sur l'itinéraire d'un véhicule donné, soit en tant que récupération unique, soit en continu à l'aide d'un écouteur pour les mises à jour. La L'API Route Overview accepte les types d'informations suivants:

  • Plan complet de l'itinéraire, y compris l'emplacement des arrêts des véhicules, les temps de trajet et les distances
  • Trajet de la polyligne d'itinéraire entre chaque arrêt.

Ce document décrit les étapes d'intégration à l'API pour votre application.

Prérequis

  • Vous devez exécuter votre application Android avec la version alpha version 4.1.0 ou supérieure du SDK Driver. La version alpha est disponible en utilisant transportation-driver-alpha pour l'artefact artifactId Maven.
  • L'API utilise les informations de routage fournies par Fleet Engine via le API Deliveries. Elle peut être fournie via les API sur DriverSDK. (DeliveryDriverApi) ou directement à Fleet Engine.

Étapes d'intégration

Cette section décrit les étapes de base nécessaires pour intégrer votre application pilote Android. avec l'API. Ces instructions reposent sur les hypothèses suivantes:

  • Vous disposez d'une application Android qui est déjà intégrée à SDK Driver
  • Vous avez initialisé DeliveryDriverApi dans votre application avec un contexte. que vous pouvez trouver

Voir Premiers pas avec le SDK Driver pour Android pour en savoir plus.

Étape 0 : Configurer le routage

Vous pouvez ignorer cette étape si vous avez déjà configuré Fleet Engine et si créer des arrêts de véhicules et des tâches de livraison.

Pour charger les informations sur les arrêts et les tâches dans Fleet Engine, vous devez disposer d'un véhicule de livraison attribuée à un itinéraire valide. Cela est dû au fait que l'API Route Overview nécessite des routes pour récupérer des données. Les itinéraires valides sont constitués d'une série des points de cheminement et des arrêts, et un arrêt ne peut exister que s'il est associé à au moins un tâche. Consultez le Guide d'intégration de l'API Fleet Engine pour en savoir plus.

Étape 1 : Initialiser l'API

Une fois que vous avez défini un itinéraire valide avec les tâches et les arrêts associés, vous pouvez pour initialiser l'API Route Overview. L'initialisation fournit le framework nécessaires à la connexion entre Fleet Engine et l'API. L'itinéraire L'API Overview doit être initialisée avec le même objet de contexte que celui utilisé pour initialisez DeliveryDriverApi dans DriverSDK, car l'objet fait référence au le même identifiant de véhicule défini précédemment dans votre objet DriverContext. Les éléments suivants : Un exemple montre comment créer une instance de RouteOverviewApi.


RouteOverviewApi api = RouteOverviewApi.getInstance();
if (api == null) {
    api = RouteOverviewApi.createInstance(context);
}

Étape 2 : Enregistrer le véhicule pour les événements de modification d'itinéraire

Maintenant que vous avez initialisé l'API, vous pouvez utiliser VehicleRouteOverview. pour interagir avec les fonctionnalités de présentation de l'itinéraire. Cela permet à votre pour utiliser les informations de routage que vous avez fournies lors de sa configuration. Utilisez l'écouteur d'événements de l'API pour faciliter la mise à jour des événements et la récupération des routes.

Un événement de modification d'itinéraire se produit chaque fois que le tracé de l'un des arrêts attribués à le véhicule est mis à jour, un arrêt est réorganisé ou lorsque Fleet Engine met à jour le Informations sur l'heure d'arrivée prévue.


vehicleRouteOverview.addOnRouteChangedEventListener(event -> {
    // handle route update events
});

Étape 3 : Activez l'API

Maintenant que vous êtes prêt à utiliser les informations de routage, vous devez activer l'API pour pour lui permettre de répondre aux événements du véhicule. N'oubliez pas que l'API est initialisée dans désactivé pour éviter une consommation inutile de la bande passante du réseau.

vehicleRouteOverview.setRouteOverviewEnabled(true);

Vous pouvez suspendre ces mises à jour à tout moment en appelant la même méthode avec la commande la valeur de false.

Étape 4 : Tracez l'itinéraire sur une carte Google Maps

Une fois que vous avez obtenu une liste de RouteToVehicleStop, vous pouvez l'utiliser dans votre application. Par exemple, vous pouvez tracer le tracé d'une polyligne sur une carte Google Maps. Compute Engine. L'extrait de code suivant montre un exemple qui dessine l'itinéraire sur la carte et ajoute des repères au-dessus de chaque arrêt.

    GoogleMap googleMap = … // Instance of the Map view you are using
    ImmutableList<RouteToVehicleStop> route = event.newRoute();

    PolylineOptions routePolyline = new PolylineOptions().color(Color.BLUE);
    for (RouteToVehicleStop stop : route) {
        routePolyline.addAll(stop.path());

        MarkerOptions marker =
            new MarkerOptions().position(stop.vehicleStop().getWaypoint().getPosition());
        googleMap.addMarker(marker);
    }

    googleMap.addPolyline(routePolyline);
}

Capture d&#39;écran montrant l&#39;aperçu d&#39;un itinéraire

Vous obtenez un affichage semblable à la capture d'écran de droite:

Étape 5 : Obtenez un instantané de route

Si vous souhaitez que votre application émette un appel unique pour récupérer un instantané de des informations sur l'itinéraire actuel, utilisez la méthode suivante pour les récupérer données:

ListenableFuture<ImmutableList<RouteToVehicleStop> future = vehicleRouteOverview.getRouteToVehicleStops();
ImmutableList<RouteToVehicleStop> stops = future.get();

Vous pouvez le faire au lieu de vous abonner aux mises à jour des routes via des écouteurs d'événements.

Étape 6 : Effectuez un nettoyage

Si votre application n'a plus besoin de la fonctionnalité de résumé des routes, assurez-vous que vous avez nettoyés. Le nettoyage évite les opérations de mémoire, de traitement l'utilisation du réseau dans votre application.

Supprimer un écouteur d'événements spécifique

Vous devez supprimer un écouteur d'événements lorsqu'un écouteur spécifique n'est plus nécessaires.

vehicleRouteOverview.removeOnRouteChangedEventListener(listener);

Effacer tous les écouteurs d'événements

Dans le cadre de votre routine de nettoyage, vous pouvez supprimer simultanément tous les différents écouteurs d'événements enregistrés.

vehicleRouteOverview.clearEventListeners();

Effacer l'instance de l'API Route Overview

Chaque fois que vous n'avez plus besoin de la présentation de l'itinéraire ou que l'identifiant du véhicule suivi a changé, vous pouvez appeler cette API pour effacer les références internes.

vehicleRouteOverview.clearInstance();