2016-03-28 3 views
1

Android用の新しいHere SDKを評価しており、マップの表示、ルーティング、ナビゲーションを正常に実装しました。私はETAを追加するように頼まれているので、SDKのドキュメントを見て、NavigationManagerのgetEta()メソッドを見つけました。ここでナビゲーションAPI NavigationManager getEta()は常に無効/不明を返します

このメソッドを呼び出すときは、返される値は0です。つまり、返されたDateオブジェクトに対してtoString()があり、 "ETA:水曜日12月31日夜六時59分59秒EST 1969"

私が使用している正確なコードは、これは、約1秒に1回です。

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

私はどこかのセットアップコールを逃していると思いますが、SDKのドキュメントには何も私のところに飛び出していません。私は、目的地が設定され、経路計算が完了したことを確認することができます。

答えて

0

あなたの位置を考慮して、到着予定時刻(日付形式)を取得するためにナビゲーションモードにあるときに使用できる/使用できるNavigationManager.getEta()があります。 ナビゲーションが実行されていないときは、あなたが書き込んだ結果が得られます。

ナビゲーション外のルート(ルートの概要など)の到着予定時刻を取得する場合は、RouteオブジェクトのRoute.getTta()を呼び出すと、ルート旅行の期間が返されますrouteoptions/routeplanの設定に基づく)を秒単位で指定します。

+0

私が質問したところでは、これはナビゲーションモード中です。ルートが設定され、ルート計算が完了した後です(onCalculateRouteFinishedが呼び出されました)。 追加する編集:最終的にはEtaの報告を開始しますが、通常は経路計算が完了してから数秒経過するまではありません。 – androidallen

+0

ナビゲーションの開始後にチェックを追加する方法navigationmanager.getRunningState()== NavigationManager.NavigationState.RUNNING –

関連する問題