Я использую HERE Android SDK, встроенный в приложение QT, и пытаюсь смоделировать поворот за поворотом, но без отображения карты. В моем приложении нет Map или MapFragment, я использую MapEngine и NavigationManager напрямую. И я инициализирую движок карт в основном потоке пользовательского интерфейса, как это рекомендуется (не уверен, что это может быть проблемой здесь).
Я могу инициализировать движок карты, создать маршрут и успешно сбросить его. Однако, когда я использую NavigationManager для имитации маршрута, я вижу движение навигации (координаты в обновлении местоположения прогрессируют). Однако у меня есть ManeuverEventListeners и NewInstructionEventListeners, и они никогда не вызываются.
И на моем слушателе позиции, если я звоню getNextManeuverDistance()
или getETA()
, я получаю сообщения об ошибках. Все остальные функции были успешно выполнены, и симуляция навигации будет завершена в конечном итоге (в ожидаемое время), но без каких-либо инструкций.
У меня тот же код, который отлично работает в примере приложения, но при работе в среде QT я никогда не получаю действительных расстояний или маневров. В ссылке на API указано, что getNextManeuver()
вернет ноль (и получит расстояние, возвращающее MAX_INT), если следующий маневр еще не доступен. Что может быть причиной этого?
Допустимо ли запускать это в приложении без Map или MapFragment? Любые идеи, почему имитация NavigateManager будет действовать таким образом?