DJI Mobile SDK Documentation

      class IWaypointMissionManager

      interface IWaypointMissionManager
      包:dji.v5.manager.interfaces
      描述:

      此类是航线任务管理类,用于航线任务的上传,执行,暂停,恢复以及航线任务执行状态的监听等功能。航线编辑相关功能请参考:IWPMZManager

      MSDK 5.0.0开始支持

      类成员:
      method addWaypointMissionExecuteStateListener
      void addWaypointMissionExecuteStateListener(WaypointMissionExecuteStateListener listener)
      包:dji.v5.manager.interfaces
      描述:

      设置航线任务执行状态的监听器。可以用来监听航线任务的执行状态,比如:航线任务文件上传中,进入航线任务飞行,航线任务完成等状态。

      MSDK 5.0.0开始支持

      输入参数:
      WaypointMissionExecuteStateListener listener航线任务执行状态的监听器。
      method removeWaypointMissionExecuteStateListener
      void removeWaypointMissionExecuteStateListener(WaypointMissionExecuteStateListener listener)
      包:dji.v5.manager.interfaces
      描述:

      移除航线任务执行状态的监听器。

      MSDK 5.0.0开始支持

      输入参数:
      WaypointMissionExecuteStateListener listener航线任务执行状态的监听器。
      method clearAllWaypointMissionExecuteStateListener
      void clearAllWaypointMissionExecuteStateListener()
      包:dji.v5.manager.interfaces
      描述:

      移除所有航线任务执行状态的监听器。

      MSDK 5.0.0开始支持

      method addWaylineExecutingInfoListener
      void addWaylineExecutingInfoListener(WaylineExecutingInfoListener listener)
      包:dji.v5.manager.interfaces
      描述:

      设置航线信息的监听器。航线信息包括当前执行的航线ID和当前执行的航点序号。

      MSDK 5.0.0开始支持

      输入参数:
      WaylineExecutingInfoListener listener航线信息的监听器。
      method removeWaylineExecutingInfoListener
      void removeWaylineExecutingInfoListener(WaylineExecutingInfoListener listener)
      包:dji.v5.manager.interfaces
      描述:

      移除航线信息的监听器。

      MSDK 5.0.0开始支持

      输入参数:
      WaylineExecutingInfoListener listener航线信息的监听器。
      method clearAllWaylineExecutingInfoListener
      void clearAllWaylineExecutingInfoListener()
      包:dji.v5.manager.interfaces
      描述:

      移除所有航线信息的监听器。

      MSDK 5.0.0开始支持

      method addWaypointActionListener
      void addWaypointActionListener(WaypointActionListener listener)
      包:dji.v5.manager.interfaces
      描述:

      设置航线动作的监听器。包括航线动作开始执行状态和结束执行状态。
      注意:M300 RTK 和 M350 RTK 使用的V2航线设计方案,DJI Pilot 执行的航线切换到 MSDK App的时候无法获取航线动作回调信息。建议将 DJI Pilot 生成的航线保存下来后,在 MSDK App 加载航线文件执行任务。

      MSDK 5.6.0开始支持

      输入参数:
      WaypointActionListener listener航线动作的监听器。
      method removeWaypointActionListener
      void removeWaypointActionListener(WaypointActionListener listener)
      包:dji.v5.manager.interfaces
      描述:

      移除航线动作的监听器。

      MSDK 5.6.0开始支持

      输入参数:
      WaypointActionListener listener航线动作的监听器。
      method clearAllWaypointActionListener
      void clearAllWaypointActionListener()
      包:dji.v5.manager.interfaces
      描述:

      移除所有航线动作的监听器。

      MSDK 5.6.0开始支持

      method pushKMZFileToAircraft
      void pushKMZFileToAircraft(String missionFilePath, CommonCallbacks.CompletionCallbackWithProgress<Double> callback)
      包:dji.v5.manager.interfaces
      描述:

      上传航线任务。

    • 航线任务定义在KMZ文件中,KMZ文件采用DJI自定义的航线文件格式(WPML)进行编写。 WPML格式遵循XML和KML规范,更详细信息请参阅:航线文件格式
    • 用户可根据DJI Pilot 2中提供的模板生成航线文件,也可使用DJI WPML格式根据业务需要自定义waylines.wpml中的内容,并将该文件压缩为KMZ文件后上传。
    • 你可以多次调用此接口上传多个航线任务KMZ文件,如果上传相同的文件名的KMZ文件,将会覆盖上一次上传的同名文件。
    • 你可以通过设置航线任务KMZ文件名来选择航线任务的执行startMission和停止stopMission
    • 一个KMZ文件包括一个航线任务,一个航线任务里面可以包含多个航线。


    • MSDK 5.0.0开始支持

      输入参数:
      String missionFilePath航线任务KMZ文件路径。
      CommonCallbacks.CompletionCallbackWithProgress<Double> callback返回执行结果的回调。返回KMZ文件上传状态,包括上传进度和错误信息。
      method startMission
      void startMission(String missionFileName, CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      开始执行航线任务。
      注意:请勿在航线起飞阶段调用返航Key:KeyStartGoHome,如需要停止航线任务,可以调用stopMission

      MSDK 5.0.0开始支持

      输入参数:
      String missionFileName需要执行的航线任务文件名。
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method getAvailableWaylineIDs
      List<Integer> getAvailableWaylineIDs(String missionFileName)
      包:dji.v5.manager.interfaces
      描述:

      返回指定的航线任务文件中可用的航线ID列表。获取到这个ID列表以后可以选择需要执行的航线ID,作为参数传入到startMission执行航线任务。
      注意:M300 RTK和M350 RTK只支持1个航线ID。

      MSDK 5.1.0开始支持

      输入参数:
      String missionFileName指定的航线任务文件名。
      返回值:
      List<Integer>获取指定的航线任务文件中可用的航线ID列表。
      method startMission
      void startMission(String missionFileName, List<Integer> waylineIDs, CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      开始执行指定的航线ID列表的航线任务。 可通过getAvailableWaylineIDs获取到可用的航线ID列表。获取到这个航线ID列表以后可以选择需要执行的航线ID作为参数传入到此接口,飞行器将按照航线ID列表的顺序依次执行航线任务。如果航线ID列表参数传空或者航线ID列表长度为0,飞行器将执行航线任务中的所有航线。
      注意:
      1. M300 RTK和M350 RTK只支持1个航线ID。
      2. 请勿在航线起飞阶段调用返航Key:KeyStartGoHome,如需要停止航线,可以调用stopMission


      MSDK 5.1.0开始支持

      输入参数:
      String missionFileName需要执行的航线任务文件名。
      List<Integer> waylineIDs需要执行的航线ID列表。
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method queryBreakPointInfoFromAircraft
      void queryBreakPointInfoFromAircraft(String missionFileName ,CommonCallbacks.CompletionCallbackWithParam<BreakPointInfo> callback)
      包:dji.v5.manager.interfaces
      描述:

      查询航线任务暂停时的断点信息,断点信息包括航线任务暂停的飞行器位置。 获取断点信息后可以作为参数传入到startMission或者resumeMission执行航线任务,飞行器将飞往传入的断点位置,然后按航点顺序依次执行航线任务。
      注意:
      1. M300 RTK和M350 RTK不支持断点信息查询功能。
      2. 只有调用暂停航线任务接口pauseMission后才能查询到断点信息。


      MSDK 5.6.0开始支持

      输入参数:
      String missionFileName执行的航线任务文件名。
      CommonCallbacks.CompletionCallbackWithParam<BreakPointInfo> callback返回执行结果的回调。
      method startMission
      void startMission(String missionFileName , BreakPointInfo breakPointInfo , CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      开始执行指定断点的航线任务。可通过queryBreakPointInfoFromAircraft查询上一次航线任务暂停时的断点信息。获取到断点信息以后可以作为参数传入到此接口,飞行器将飞往传入的断点位置,然后按航点顺序依次执行航线任务。如果你不希望从上一次暂停时的飞行器位置开始执行航线任务,你也可以自行构造断点信息,设置任意航点位置开始执行航线任务。
      注意:
      1. M300 RTK和M350 RTK不支持此接口进行断点续飞。如需要暂停后恢复下个航点飞行,请通过resumeMission设置断点恢复类型setRecoverActionType实现。
      2. 暂停航线任务后,只有退出航线任务,才能调用此接口重新执行航线任务。通用的应用场景包括:航线任务执行完成后返航降落或者飞行器重新上电。
      3. 如果你希望在不退出航线任务的前提下,从指定的断点位置开始飞行。你可以调用resumeMission恢复执行航线任务。


      MSDK 5.6.0开始支持

      输入参数:
      String missionFileName执行的航线任务文件名。
      BreakPointInfo breakPointInfo断点信息
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method pauseMission
      void pauseMission(CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      暂停执行航线任务。

      MSDK 5.0.0开始支持

      输入参数:
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method resumeMission
      void resumeMission(CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      从暂停处恢复执行航线任务。

      MSDK 5.0.0开始支持

      输入参数:
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method resumeMission
      void resumeMission(BreakPointInfo breakPointInfo, CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      从指定的断点恢复执行航线任务。可通过queryBreakPointInfoFromAircraft查询航线任务暂停时的断点信息。获取到断点信息以后可以作为参数传入到此接口,飞行器将飞往传入的断点位置,然后按航点顺序依次执行航线任务。如果你不希望从上一次暂停时的飞行器位置开始执行航线任务,你也可以自行构造断点信息,设置任意航点位置开始执行航线任务。
      注意:
      M300 RTK和M350 RTK不支持通过queryBreakPointInfoFromAircraft 查询航线任务暂停时的断点信息。仅支持自行构造断点信息通过setRecoverActionType设置断点恢复类型RecoverActionType来恢复航线任务。


      MSDK 5.6.0开始支持

      输入参数:
      BreakPointInfo breakPointInfo需要恢复执行的断点信息。
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method stopMission
      void stopMission(String missionFileName, CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      停止执行航线任务。

      MSDK 5.0.0开始支持

      输入参数:
      String missionFileName需要停止的航线任务文件名。
      CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      enum WaypointMissionExecuteState
      enum WaypointMissionExecuteState
      包:dji.v5.manager.aircraft.waypoint3.model
      描述:

      航线任务执行状态。

      MSDK 5.0.0开始支持

      Enum Members:
      IDLE初始化状态。
      NOT_SUPPORTED此机型不支持航线任务3.0。
      READY航线任务准备状态,此状态下可上传航线任务文件,也可执行已上传的航线任务。
      UPLOADING航线任务文件上传中。
      PREPARING航线任务执行准备中。调用startMission启动执行航线任务后,飞行器在准备执行航线任务中。
      ENTER_WAYLINE进入航线飞行,飞往指定航线的第一个航点。
      EXECUTING航线任务执行中。
      INTERRUPTED航线任务执行中断,表示用户调用pauseMission暂停航线或者飞控异常。
      RECOVERING航线任务恢复中。
      FINISHED航线任务完成。表示航线任务执行完成或者调用stopMission停止执行航线任务。
      Class Members:
      enum RecoverActionType
      enum RecoverActionType
      包:dji.v5.manager.aircraft.waypoint3.model
      描述:

      断点恢复类型。
      注意:此断点恢复类型仅支持M300 RTK和M350 RTK。

      MSDK 5.9.0开始支持

      Enum Members:
      GoBackToRecordPoint当航线任务恢复后,飞行器飞向暂停时的断点。
      GoBackToNextPoint当航线任务恢复后,飞机飞往暂停时断点的下一个航点。
      GoBackToNextNextPoint当航线任务恢复后,飞机飞往暂停时断点的下下个航点。
      Class Members: