2016-03-28 13 views
1

döndürür Burada yeni Android için Android SDK'yı değerlendiriyorum ve başarılı bir şekilde harita görüntüleme, yönlendirme ve navigasyon gerçekleştirdim. Bir ETA eklemesi istendi ve SDK belgelerine baktım ve NavigationManager için getEta() yöntemini buldum.İşte navigasyon API'sı NavigationManager getEta() her zaman geçersiz/bilinmeyen bir

Bu yöntemi her aradığında, döndürülen değer 0'dır;

kullanıyorum tam kod yaklaşık kez, ikinci şudur: döndürülen tarihi nesne üzerinde yani toString() "Çar Aralık 1969 31 18:59:59 EST ETA": is

Date eta = NavigationManager.getInstance().getEta(true, Route.TrafficPenaltyMode.DISABLED); 
Log.d(logTag, "ETA: " + eta.toString()); 

Bazı kurulum çağrılarını kaçırdığımı sanıyorum ama SDK belgelerinde hiçbir şey bana doğru atlamıyor. Bir hedefin ayarlandığını ve rota hesaplamanın tamamlandığını doğrulayabilirim.

cevap

0

Navigasyon kipindeyken kullanabilmeniz/kullanabilmeniz için kullanabileceğiniz tahmini varış tarihini (tarih olarak) almak için kullanabileceğiniz NavigationManager.getEta() vardır. Gezinme çalışmadığında, yazdığınız sonucu alırsınız.

Navigasyon dışındaki bir rota için tahmini varış zamanını almak istiyorsanız (örn. Rotaya genel bakış) Route nesnesinde Route.getTta() yolunu arayabilir ve rota gezisinin süresini geri alırsınız (saniyeler içinde routeoptions/routeplan'daki kurulumunuza göre).

+0

Soruda söylediğim gibi, bu bir navigasyon modu sırasında, bir rota ayarlandıktan ve rota hesaplaması tamamlandıktan sonra (onCalculateRouteFinished çağrıldı). Eklemek için: Sonunda bir Eta rapor etmeye başlar, ancak genellikle rota hesaplama tamamlandıktan sonra birkaç saniye geçmez. – androidallen

+0

Navigasyondan sonra bir kontrol eklenmeye ne dersin eklenir navigationmanager.getRunningState() == NavigationManager.NavigationState.RUNNING –