Этот ответ относится конкретно к Android SDK, но аналогичные концепции существуют и для iOS SDK.
В Android миссии waypoint создаются и управляются с помощью класса WaypointMissionOperator . Экземпляры этого класса позволяют настроить прослушиватель с помощью метода addListener
, который будет вызываться, когда доступно обновленное состояние воздушного судна. onExecutionUpdate
метод WaypointMissionOperatorListener
, который вы передаете этому методу, получит WaypointMissionExecutionEvent . У этого объекта есть метод getProgress
, который даст вам информацию о состоянии миссии, которая вам нужна (
targetWaypointIndex
и isWaypointReached
).
Чтобы приостановить миссию в определенной путевой точке, вы можете добавить удержание в путевой точке. Это позволяет вашему программному обеспечению, работающему на мобильном устройстве, определять время, когда самолет достиг маршрутной точки, и отправлять команду на паузу миссии.
Остальная часть вашего вопроса связана с философией дизайна, которая выходит за рамки стекового потока, но вы можете связаться со мной напрямую.