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のドキュメントには何も私のところに飛び出していません。私は、目的地が設定され、経路計算が完了したことを確認することができます。
私が質問したところでは、これはナビゲーションモード中です。ルートが設定され、ルート計算が完了した後です(onCalculateRouteFinishedが呼び出されました)。 追加する編集:最終的にはEtaの報告を開始しますが、通常は経路計算が完了してから数秒経過するまではありません。 – androidallen
ナビゲーションの開始後にチェックを追加する方法navigationmanager.getRunningState()== NavigationManager.NavigationState.RUNNING –