Recupero della durata del viaggio, della distanza e dell'ora di partenza stimate

È possibile creare un'applicazione che richiede la durata del viaggio, la distanza e l'ora di partenza stimate per un viaggio in automobile negli Stati Uniti e in Canada utilizzando l'API Travel Time, disponibile nel pacchetto net.rim.device.api.lbs.travel. Ad esempio, è possibile creare un'applicazione di social networking che fornisce all'utente BlackBerry l'ora stimata di arrivo alla posizione di un amico. È anche possibile creare un'applicazione che si integri con l'applicazione Calendario di un utente per fornire l'ora di partenza stimata per recarsi a un appuntamento imminente.

TravelTimeEstimator è una classe singleton che supporta le richieste sincrone e asincrone. Le richieste sincrone bloccano i processi nel thread corrente fin quando non vengono restituiti i risultati o si verifica un'eccezione. Si consiglia di eseguire le chiamate sincrone in un thread separato, in modo che la richiesta non blocchi il thread corrente. Una richiesta asincrona torna al thread dopo l'invio di una richiesta di un valore stimato. I risultati vengono restituiti in modo asincrono a un oggetto listener che deve essere specificato.

Le richieste vengono inviate a un server Travel Time, che utilizza le informazioni sul traffico correnti e storiche per creare un percorso tra il punto di partenza e quello di arrivo. È possibile creare una richiesta della durata e la distanza del viaggio ottenendo un'istanza della classe TravelTimeEstimator, richiamando TravelTimeEstimator.requestArrivalEstimate() e passando le coordinate geografiche per il punto di partenza e quello di arrivo per l'ora di partenza. Quando la richiesta restituisce un oggetto TravelTime, è possibile recuperare la durata e la distanza del viaggio richiamando TravelTime.getElapsedTime() e TravelTime.getDistance(), rispettivamente. Per richiedere un'ora di partenza, è necessario prima richiamare TravelTimeEstimator.requestDepartureEstimate() e passare l'ora di arrivo con le coordinate per il punto di partenza e quello di arrivo. Quando viene restituita la richiesta, è possibile recuperare l'ora di partenza richiamando TravelTime.getStartTime().


Le informazioni sono state utili? Inviateci i vostri commenti.