任务管理器
interface IMissionManager
描述: 航线任务管理接口:实现航线任务的上传、启动、暂停、恢复等操作
method uploadKmzMissionFile
fun uploadKmzMissionFile(
kmzPath: String,
guid: Int,
callback: CommonCallbacks.CompletionCallbackWithProgress<Double>
)
描述: 上传KMZ航线执行文件
输入参数:
kmzPath:kmz文件路径
guid:飞机任务的唯一ID(一般取时间戳)
callback:上传文件进度
输出参数: 无。
相关参数: CompletionCallbackWithProgress。
method uploadMissionFile
fun uploadMissionFile(
missionInfo: MissionInfoJNI
callback: CommonCallbacks.CompletionCallbackWithProgress<Double>
)
描述: 上传航线任务执行文件
输入参数:
missionInfo:MissionInfo航线任务文件模型 callback:上传文件进度
输出参数: 无。
相关参数: CompletionCallbackWithProgress。
method uploadMissionFile
fun uploadMissionFile(
missionFilePath: String,
callback: CommonCallbacks.CompletionCallbackWithProgress<Double>
)
描述: 上传航线任务执行文件
输入参数: missionFilePath:用户自己保存的MissionInfoJNI 任务文件路径 callback:上传文件进度
输出参数: 无。
相关参数: CompletionCallbackWithProgress。
method cancelUploadMission
fun cancelUploadMission()
描述: 取消本次任务上传
输入参数: 无
输出参数: 无。
相关参数: 无
method startMission
fun startMission(
missionInfo: IMissionWaypointBean,
callback: CommonCallbacks.CompletionCallbackWithProgressAndParam<Void>
)
描述: 任务文件上传之后, 可以启动任务
输入参数: missionInfo:任务信息(Guid),通过IMissionWaypointBean实现不通任务文件类型 callback: 进度和参数的回调
输出参数: 无。
相关参数: CompletionCallbackWithProgressAndParam、IMissionWaypointBean。
method pauseMission
fun pauseMission(
callback: CommonCallbacks.CompletionCallbackWithParam<Void>,
isKml: Boolean? = false
)
描述: 暂停执行航线任务
输入参数: callback: 参数进度回调
isKml: 是否是KMZ任务
输出参数: 无。
相关参数: CompletionCallbackWithParam。
method resumeMission
fun resumeMission(
missionInfo: IMissionWaypointBean,
callback: CommonCallbacks.CompletionCallbackWithParam<Void>
)
描述: 从暂停处恢复执行航线任务
输入参数: missionInfo:任务信息(Guid),通过IMissionWaypointBean实现不通任务文件类型 callback: 完成回调
输出参数: 无。
相关参数: CompletionCallbackWithParam。
method exitMission
fun exitMission(
callback: CommonCallbacks.CompletionCallbackWithParam<Void>,
isKml: Boolean? = false
)
描述: 停止执行航线任务
输入参数: callback: 完成回调
isKml: 是否是KMZ任务
输出参数: 无。
相关参数: CompletionCallbackWithParam。
method addWaypointMissionExecuteStateListener
fun addWaypointMissionExecuteStateListener(listener: CommonCallbacks.KeyListener<MissionWaypointStatusReportNtfyBean>)
描述: 设置航线任务执行状态的监听器。可以用来监听航线任务的执行状态,比如:航线任务执行中、暂停中、完成、任务进度等状态
输入参数: listener:路点状态的监听器
输出参数: 无。
相关参数: KeyListener,MissionWaypointStatusReportNtfyBean。
method removeWaypointMissionExecuteStateListener
fun removeWaypointMissionExecuteStateListener(listener: CommonCallbacks.KeyListener<MissionWaypointStatusReportNtfyBean>)
描述: 移除航线任务执行状态的监听器
输入参数: listener:路点状态的监听器
输出参数: 无。
相关参数: KeyListener,MissionWaypointStatusReportNtfyBean。
method queryMissionBreakpointInfo
fun queryMissionBreakpointInfo(
guidBean: MissionWaypointGUIDBean,
callback: CommonCallbacks.CompletionCallbackWithParam<MissionWaypointBreakRspBean>
)
描述: 查询任务断点信息
输入参数: guid:任务guid模型 callback: 路点中断响应完成时的回调
输出参数: 无。
相关参数: CompletionCallbackWithParam,MissionWaypointBreakRspBean。
method resumeBeakpointMission
fun resumeBeakpointMission(
guidBean: IMissionWaypointBean,
callback: CommonCallbacks.CompletionCallbackWithParam<Void>)
描述: 恢复断点任务
输入参数:
guidBean:任务信息(Guid),通过IMissionWaypointBean实现不通任务文件类型 callback: 完成时的回调
输出参数: 无。
相关参数: CompletionCallbackWithParam。
class MissionWaypointStatusReportNtfyBean
描述: 任务执行状态
data class MissionWaypointStatusReportNtfyBean(
/**
* 系统时间戳; uint: ms
*/
var timestamp: Long = 0L,
/**
* 任务ID
*/
var missionId: Int = 0,
/**
* 航点序号
*/
var wpSeq: Int = 0,
/**
* 剩余距离
*/
var remainDistance: Int = 0,
/**
* 参考 MISSION_TYPE
*/
var missionType: MissionTypeEnum = MissionTypeEnum.UNKNOWN,
/**
* 当前拍照张数
*/
var photoNum: Int = 0,
/**
* 剩余时间; uint:s
*/
var remainTime: Int = 0,
/**
* 当前任务状态,参考 MISSION_CURRENT_STATUS
*/
var status: MissionCurrentStateEnum = MissionCurrentStateEnum.UNKNOWN,
/**
* 任务guid
*/
var guid: Int = 0,
/**
* 当前动作序号
*/
var actionSeq: Int = 0,
/**
* 航点抵达状态; 0 - arrived; 1 - Not arrived
*/
var arrived: Int = 0,
/**
* 任务进度百分比
*/
var percent: Int = 0,
/**
* 当前的任务阶段
*/
var taskStageIndex: Int = 4
) {
fun isKmzMission(): Boolean
}