API Route Panoramica

L'API Route Overview è un prodotto Last Mile Fleet Solution basato sulla DriverSDK. Qui puoi recuperare informazioni sul percorso per un determinato veicolo, come recupero una tantum o continuativo, utilizzando un listener per gli aggiornamenti. La L'API Route Overview supporta i seguenti tipi di informazioni:

  • Piano completo del percorso, inclusi la posizione delle fermate dei veicoli, i tempi di percorrenza e le distanze
  • Il percorso della polilinea tra ogni fermata.

Questo documento descrive i passaggi per l'integrazione con l'API per la tua applicazione.

Prerequisiti

  • La tua applicazione Android deve essere in esecuzione utilizzando la versione alpha di DriverSDK v4.1.0 o superiore. Il canale alfa è disponibile utilizzando transportation-driver-alpha per Maven arteId.
  • L'API utilizza le informazioni sulle route fornite da Fleet Engine tramite API Deliveries. Può essere fornito tramite le API su DriverSDK (DeliveryDriverApi) o direttamente a Fleet Engine.

Passaggi per l'integrazione

Questa sezione illustra i passaggi di base necessari per integrare l'app driver Android con l'API. Queste istruzioni si basano sui seguenti presupposti:

  • Hai già un'app per Android che è già integrata con SDK driver
  • Hai inizializzato DeliveryDriverApi nella tua app con un contesto che puoi trovare

Consulta Guida introduttiva all'SDK Driver per Android per maggiori dettagli.

Passaggio 0 - Configurazione del percorso

Puoi saltare questo passaggio se hai già configurato Fleet Engine e puoi creare soste dei veicoli e attività di consegna.

Per caricare le informazioni su fermate e attività su Fleet Engine, hai bisogno di un veicolo per le consegne e assegnato a un percorso valido. Questo perché l'API Route Overview richiede una convalida per recuperare i dati. Le route valide sono composte da una serie di tappe e fermate e una fermata può esistere solo se ne è associata almeno una dell'attività. Consulta le Guida all'integrazione delle API Fleet Engine per ulteriori informazioni.

Passaggio 1 - Inizializza l'API

Una volta stabilito un percorso valido con fermate e attività associate, puoi inizializza l'API Route Overview. L'inizializzazione fornisce il framework necessarie per la connessione tra Fleet Engine e l'API. Il percorso L'API Panoramica deve essere inizializzata con lo stesso oggetto di contesto che utilizzavi inizializza DeliveryDriverApi in DriverSDK, poiché l'oggetto fa riferimento al stesso ID veicolo definito in precedenza nell'oggetto DriverContext. Le seguenti illustra come creare un'istanza di RouteOverviewApi.


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

Passaggio 2: registra il veicolo per gli eventi di cambio di percorso

Ora che hai inizializzato l'API, puoi utilizzare lo strumento VehicleRouteOverview per interagire con le funzionalità di panoramica del percorso. Ciò consente per utilizzare le informazioni sul percorso fornite durante la configurazione del percorso. Utilizza il listener di eventi dell'API per facilitare gli aggiornamenti degli eventi e il recupero del percorso.

Un evento di modifica del percorso si verifica ogni volta che il percorso verso una delle fermate assegnate quando il veicolo viene aggiornato, si riorganizza una fermata o quando Fleet Engine aggiorna informazioni sull'orario di arrivo stimato.


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

Passaggio 3 - Abilita l'API

Ora che è tutto pronto per utilizzare le informazioni sulle route, devi abilitare l'API per per consentirgli di rispondere agli eventi del veicolo. Ricorda che l'API è inizializzata in disattivato per evitare un consumo superfluo di larghezza di banda di rete.

vehicleRouteOverview.setRouteOverviewEnabled(true);

Puoi mettere in pausa questi aggiornamenti in qualsiasi momento richiamando lo stesso metodo con pari a false.

Passaggio 4: traccia il percorso su una mappa di Google

Una volta ottenuto un elenco di RouteToVehicleStop, puoi utilizzarlo nelle un'applicazione. Ad esempio, puoi tracciare il percorso della polilinea in una mappa di Google. in esecuzione in un'istanza Compute Engine. Il seguente snippet di codice mostra un esempio che traccia la route una polilinea nella visualizzazione mappa e aggiunge indicatori sopra il punto di ogni fermata.

    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);
}

Screenshot che mostra l&#39;immagine di una panoramica del percorso

Viene visualizzata una visualizzazione simile a quella dello screenshot a destra:

Passaggio 5 - Ottieni un'istantanea della route

Se vuoi che l'app effettui una chiamata una tantum per recuperare uno snapshot del informazioni sul percorso corrente, puoi utilizzare il seguente metodo per recuperarle dati:

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

Puoi farlo invece di iscriverti agli aggiornamenti del percorso tramite i listener di eventi.

Passaggio 6 - Pulisci

Se la tua app non ha più bisogno della funzionalità di panoramica del percorso, devi assicurarti che hai ripulito. Eseguire la pulizia evita memoria, elaborazione e il consumo della rete in uso nella tua applicazione.

Rimuovere un listener di eventi specifico

Devi rimuovere un listener di eventi quando uno specifico listener non è più attivo necessaria.

vehicleRouteOverview.removeOnRouteChangedEventListener(listener);

Cancella tutti i listener di eventi

Nell'ambito della tua routine di pulizia, puoi rimuovere tutti i diversi listener di eventi registrati contemporaneamente.

vehicleRouteOverview.clearEventListeners();

Cancella istanza API Route Overview

Ogni volta che la panoramica del percorso non è più necessaria o l'ID del veicolo monitorato è cambiato, puoi chiamare questa API per cancellare i riferimenti interni.

vehicleRouteOverview.clearInstance();