Я оцениваю новый здесь SDK для Android и успешно реализовал отображение карты, маршрутизацию и навигацию. Меня попросили добавить ETA и поэтому просмотрели документацию SDK и нашли метод getEta() для NavigationManager.Здесь навигация API NavigationManager getEta() всегда возвращает недопустимый/неизвестный
Всякий раз, когда я вызываю этот метод, возвращаемое значение равно 0; т.е. ToString() на возвращенном объекте Date является "ETA: ср 31 декабря 18:59:59 EST 1969"
Точный код, я использую это, примерно один раз в секунду:
Date eta = NavigationManager.getInstance().getEta(true, Route.TrafficPenaltyMode.DISABLED);
Log.d(logTag, "ETA: " + eta.toString());
Я предполагаю, что я где-то пропустил какой-то установочный вызов, но ничего из документации SDK не выпрыгивает на меня. Я могу проверить, установлен ли пункт назначения и завершен расчет маршрута.
Как я уже сказал в своем вопросе, это во время режима навигации, после того, как маршрут установлен и расчет маршрута завершен (вызывается onCalculateRouteFinished). Редактировать, чтобы добавить: в конце концов он начинает сообщать об Эте, но обычно не до нескольких секунд после завершения расчета маршрута. – androidallen
Как насчет добавления проверки после начала навигации. Navigationmanager.getRunningState() == NavigationManager.NavigationState.RUNNING –