DJI Mobile SDK Documentation

      class IFlyZoneManager

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

      此类是限飞解禁管理类,主要支持如下功能:

    • 获取飞行安全相关提示。
    • 获取飞行器周边的限飞区。
    • 解除加强警告区。
    • 解锁授权区。
    • 解禁限飞区:下载限飞区解禁证书,将解禁证书导入到飞行器,使能或者关闭飞行器解禁证书。
    • 飞行安全数据库更新。


    • MSDK 5.3.0开始支持

      类成员:

      飞行安全通知

      method addFlySafeNotificationListener
      void addFlySafeNotificationListener(@NonNull FlySafeNotificationListener listener)
      包:dji.v5.manager.interfaces
      描述:

      添加飞行安全通知的监听器。飞行安全通知信息包括:提示信息,返航信息,警告信息,严重警告信息,以及飞行器附近限飞区。

      MSDK 5.3.0开始支持

      输入参数:
      @NonNull FlySafeNotificationListener listener飞行安全通知的监听器
      method removeFlySafeNotificationListener
      void removeFlySafeNotificationListener(@NonNull FlySafeNotificationListener listener)
      包:dji.v5.manager.interfaces
      描述:

      移除飞行安全通知的监听器。

      MSDK 5.3.0开始支持

      输入参数:
      @NonNull FlySafeNotificationListener listener飞行安全通知的监听器
      method clearAllFlySafeNotificationListener
      void clearAllFlySafeNotificationListener()
      包:dji.v5.manager.interfaces
      描述:

      移除所有飞行安全通知的监听器。

      MSDK 5.3.0开始支持


      飞行安全提示

      method getFlyZonesInSurroundingArea
      void getFlyZonesInSurroundingArea(@NonNull LocationCoordinate2D location, @NonNull CommonCallbacks.CompletionCallbackWithParam<List<FlyZoneInformation>> callback)
      包:dji.v5.manager.interfaces
      描述:

      获取距离中心位置50公里范围内的限飞区。
      注意:
      如果获取到的限飞区数量过多,在地图上绘制限飞区可能存在卡顿问题,建议做相关优化显示。


      MSDK 5.3.0开始支持

      输入参数:
      @NonNull LocationCoordinate2D location设置中心位置。
      @NonNull CommonCallbacks.CompletionCallbackWithParam<List<FlyZoneInformation>> callback返回执行结果的回调。


      加强警告区

      method unlockAllEnhancedWarningFlyZone
      void unlockAllEnhancedWarningFlyZone(@NonNull CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      解除所有的加强警告区。解除后,飞行器将不会再提示任何加强警告区,重启飞行器后会继续提示。

      MSDK 5.3.0开始支持

      输入参数:
      @NonNull CommonCallbacks.CompletionCallback callback返回执行结果的回调。


      授权区

      method unlockAuthorizationFlyZone
      void unlockAuthorizationFlyZone(int flyZoneID, @NonNull CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      解锁授权区。解锁授权区后,飞行器将可以在授权区正常起飞。
      注意:
      M300 RTK,M350 RTK,M30系列,M3E系列等行业类机型,可直接传入flyZoneID进行授权区解禁,重启飞行器后授权区将继续禁飞。
      DJI Mini 3和DJI Mini 3 Pro等消费类机型,需要参考禁飞区解禁流程,在DJI限飞官网申请解禁后, 调用downloadFlyZoneLicensesFromServerpushFlyZoneLicensesToAircraft进行授权区解禁。


      MSDK 5.3.0开始支持

      输入参数:
      int flyZoneID授权区ID。
      @NonNull CommonCallbacks.CompletionCallback callback返回执行结果的回调。


      禁飞区

      method downloadFlyZoneLicensesFromServer
      void downloadFlyZoneLicensesFromServer(@NonNull CommonCallbacks.CompletionCallbackWithParam<List<FlyZoneLicenseInfo>> callback)
      包:dji.v5.manager.interfaces
      描述:

      从服务器获取禁飞区解禁证书。请先调用logInDJIUserAccount登陆DJI账号,才能获取相关账号申请的解禁证书。
      注意:
      如果你希望在地图上绘制解禁证书中的限飞区,请将限飞区中的areaID传入getFlyZonesByAreaID后就可以获取该areaID的限飞区信息进行绘制。


      MSDK 5.3.0开始支持

      输入参数:
      @NonNull CommonCallbacks.CompletionCallbackWithParam<List<FlyZoneLicenseInfo>> callback返回执行结果的回调。
      method getFlyZonesByAreaID
      @NonNull
      List<FlyZoneInformation> getFlyZonesByAreaID(int areaID)
      包:dji.v5.manager.interfaces
      描述:

      获取特定areaID的限飞区信息。

      MSDK 5.3.0开始支持

      输入参数:
      int areaID限飞区的ID。
      返回值:
      List<FlyZoneInformation>返回特定areaID的限飞区信息。
      method pushFlyZoneLicensesToAircraft
      void pushFlyZoneLicensesToAircraft(@NonNull CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      将解禁证书导入到飞行器中。MSDK会把跟飞行器飞控SN匹配的解禁证书导入到飞行器中。 导入成功后,你可以调用pullFlyZoneLicensesFromAircraft获取已经导入到该飞行器的解禁证书列表。如果需要解禁限飞区,你可以调用setFlyZoneLicensesEnabled使能或者关闭解禁证书。

      MSDK 5.3.0开始支持

      输入参数:
      @NonNull CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method pullFlyZoneLicensesFromAircraft
      void pullFlyZoneLicensesFromAircraft(@NonNull CommonCallbacks.CompletionCallbackWithParam<List<FlyZoneLicenseInfo>> callback)
      包:dji.v5.manager.interfaces
      描述:

      获取飞行器上的解禁证书。

      MSDK 5.3.0开始支持

      输入参数:
      @NonNull CommonCallbacks.CompletionCallbackWithParam<List<FlyZoneLicenseInfo>> callback返回执行结果的回调。
      method deleteFlyZoneLicensesFromAircraft
      void deleteFlyZoneLicensesFromAircraft(@NonNull CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      删除飞行器上的解禁证书。

      MSDK 5.3.0开始支持

      输入参数:
      @NonNull CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method setFlyZoneLicensesEnabled
      void setFlyZoneLicensesEnabled(@NonNull FlyZoneLicenseInfo info, boolean isEnabled, @NonNull CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      使能或者关闭解禁证书。使能解禁证书以后,飞行器将可以在限飞区正常起飞。

      MSDK 5.3.0开始支持

      输入参数:
      @NonNull FlyZoneLicenseInfo info证书信息。
      boolean isEnabledtrue表示使能解禁证书。
      @NonNull CommonCallbacks.CompletionCallback callback返回执行结果的回调。


      飞行安全数据库

      method addFlySafeDatabaseListener
      void addFlySafeDatabaseListener(@NonNull FlySafeDatabaseListener listener)
      包:dji.v5.manager.interfaces
      描述:

      添加飞行安全数据库的监听器。飞行安全数据库信息包括:数据库更新模式,数据库更新状态,手动导入的数据库信息。

      MSDK 5.8.0开始支持

      输入参数:
      @NonNull FlySafeDatabaseListener listener飞行安全数据库的监听器
      method removeFlySafeDatabaseListener
      void removeFlySafeDatabaseListener(@NonNull FlySafeDatabaseListener listener)
      包:dji.v5.manager.interfaces
      描述:

      移除飞行安全数据库的监听器。

      MSDK 5.8.0开始支持

      输入参数:
      @NonNull FlySafeDatabaseListener listener飞行安全数据库的监听器
      method clearAllFlySafeDatabaseListener
      void clearAllFlySafeDatabaseListener()
      包:dji.v5.manager.interfaces
      描述:

      移除所有飞行安全数据库的监听器。

      MSDK 5.8.0开始支持

      method setFlySafeDynamicDatabaseUpgradeMode
      void setFlySafeDynamicDatabaseUpgradeMode(@NonNull FlySafeDatabaseUpgradeMode flySafeDynamicDatabaseUpgradeMode , @NonNull CommonCallbacks.CompletionCallback callback)
      包:dji.v5.manager.interfaces
      描述:

      设置飞行安全动态数据库的更新模式,当前只支持手动导入欧盟地理感知数据。如果你希望在欧盟地区合规飞行无人机,请参照如下流程将欧盟地理感知数据导入到飞行器中。

    • 查阅欧洲航空安全局官网下载地理感知数据导入到飞行器中。
    • 调用setFlySafeDynamicDatabaseUpgradeMode将飞行安全动态数据库更新模式设置为手动导入模式。
    • 调用importFlySafeDynamicDatabaseToMSDK将地理感知数据导入到MSDK中。
    • 调用pushFlySafeDynamicDatabaseToAircraft将地理感知数据同步到飞行器中。
    • 调用getFlyZonesInSurroundingArea获取以飞行器为中心,50公里范围内到地理感知数据。


    • MSDK 5.8.0开始支持
      输入参数:
      @NonNull FlySafeDatabaseUpgradeMode flySafeDynamicDatabaseUpgradeMode飞行安全动态数据库更新模式,当前只支持手动导入模式。
      @NonNull CommonCallbacks.CompletionCallback callback返回执行结果的回调。
      method importFlySafeDynamicDatabaseToMSDK
      void importFlySafeDynamicDatabaseToMSDK(String databaseFilePath, @NonNull CommonCallbacks.CompletionCallbackWithProgress<Double> callback)
      包:dji.v5.manager.interfaces
      描述:

      将飞行安全动态数据库导入到MSDK中,当前只支持导入欧盟地理感知数据。如果你希望在欧盟地区合规飞行无人机,请参照如下流程将欧盟地理感知数据导入到飞行器中。

    • 查阅欧洲航空安全局官网下载地理感知数据导入到飞行器中。
    • 调用setFlySafeDynamicDatabaseUpgradeMode将飞行安全动态数据库更新模式设置为手动导入模式。
    • 调用importFlySafeDynamicDatabaseToMSDK将地理感知数据导入到MSDK中。
    • 调用pushFlySafeDynamicDatabaseToAircraft将地理感知数据同步到飞行器中。
    • 调用getFlyZonesInSurroundingArea获取以飞行器为中心,50公里范围内到地理感知数据。


    • MSDK 5.8.0开始支持

      输入参数:
      String databaseFilePath数据库文件路径,数据库文件必须为JSON格式并且需要符合ED-269规范。
      @NonNull CommonCallbacks.CompletionCallbackWithProgress<Double> callback返回执行结果的回调。
      method pushFlySafeDynamicDatabaseToAircraft
      void pushFlySafeDynamicDatabaseToAircraft(@NonNull CommonCallbacks.CompletionCallbackWithProgress<Double>  callback)
      包:dji.v5.manager.interfaces
      描述:

      将飞行安全动态数据库同步到飞行器中。当前只支持同步欧盟地理感知数据。如果你希望在欧盟地区合规飞行无人机,请参照如下流程将欧盟地理感知数据导入到飞行器中。

    • 查阅欧洲航空安全局官网下载地理感知数据导入到飞行器中。
    • 调用setFlySafeDynamicDatabaseUpgradeMode将飞行安全动态数据库更新模式设置为手动导入模式。
    • 调用importFlySafeDynamicDatabaseToMSDK将地理感知数据导入到MSDK中。
    • 调用pushFlySafeDynamicDatabaseToAircraft将地理感知数据同步到飞行器中。
    • 调用getFlyZonesInSurroundingArea获取以飞行器为中心,50公里范围内到地理感知数据。


    • MSDK 5.8.0开始支持

      输入参数:
      @NonNull CommonCallbacks.CompletionCallbackWithProgress<Double> callback返回执行结果的回调。


      enum FlySafeTipEvent
      enum FlySafeTipEvent
      包:dji.v5.manager.aircraft.flysafe.info
      描述:

      飞行安全提示信息的事件枚举。

      MSDK 5.3.0开始支持

      Enum Members:
      TAKE_OFF_IN_HEIGHT_LIMIT_ZONE_WITHOUT_GPS飞行器低于限高区,无GPS信号,请注意飞行安全。
      TAKE_OFF_IN_HEIGHT_LIMIT_ZONE飞行器低于限高区,请注意飞行安全。
      TAKE_OFF_IN_WARNING_AREA飞行器处于警告区,请注意飞行安全。
      TOUCH_NO_FLY_ZONE飞行器已接近禁飞区,请注意飞行安全。
      TOUCH_AUTHORIZATION_ZONE飞行器已接近授权区,请注意飞行安全。
      REACH_MAXIMUM_FLIGHT_HEIGHT飞行器已达限高区内的最大飞行高度。
      RTH_AFFECTED_AT_BOUNDARY_OF_GEO_ZONE飞行器已接近限飞区,返航可能会受到影响。请小心飞离限飞区。
      AT_BOUNDARY_OF_CUSTOM_UNLOCK_ZONE飞行器已接近解禁区。
      ENTER_LIMIT_HEIGHT_AREA飞行器已进入限高区。
      COLLISION_WITH_LIMIT_HEIGHT_AREA_SOON_IN_WHITE_LIST_VALID_AREA飞行器已接近解禁区,请注意飞行安全。
      Class Members:
      enum FlySafeWarningEvent
      enum FlySafeWarningEvent
      包:dji.v5.manager.aircraft.flysafe.info
      描述:

      飞行安全警告信息的事件枚举。

      MSDK 5.3.0开始支持

      Enum Members:
      TAKE_OFF_FAILED_IN_NO_FLY_ZONE飞行器在禁飞区无法起飞。
      TAKE_OFF_FAILED_IN_NO_FLY_ZONE_WITHOUT_GPS移动设备处于禁飞区,飞行器GPS信号不好,无法起飞。
      TAKE_OFF_FAILED_WITHOUT_CUSTOM_UNLOCKING不能起飞。 您尚未申请在该区域飞行。
      TAKE_OFF_FAILED_IN_AUTHORIZED_AREA_WITHOUT_GPS_AND_UNLOCKING移动设备在授权区,飞行器GPS信号不好,解锁前无法起飞。
      TAKE_OFF_FAILED_IN_AUTHORIZED_ZONE_WITHOUT_UNLOCKING飞行器在授权区,未解锁前不能起飞。
      TAKE_OFF_FAILED_IN_AUTHORIZED_ZONE飞行器在授权区,你未获得飞行授权。
      TAKE_OFF_IN_ENHANCED_WARNING_ZONE飞行器处于加强警告区,请注意飞行安全。
      TAKE_OFF_NEAR_NO_FLY_ZONE附近有禁飞区,请注意飞行限制。
      LIMITED_RESTRICTIONS_NEARBY附近有禁飞区,请注意飞行限制。
      AUTHORIZED_ZONE_WITHOUT_UNLOCKING_NEARBY附近有授权区,请注意飞行限制。
      AUTHORIZED_ZONE_AND_RESTRICTIONS_NEARBY附近有授权区,你已获得飞行授权。
      RESTRICTIONS_IN_LIMITED_FLY_ZONE_NEARBY附近有禁飞区,请注意飞行限制。
      IN_AUTHORIZATION_ZONE飞行器在授权区,你已获得飞行授权。
      TAKE_OFF_FAILED_UNDER_LIMIT_AREA_WITH_GPS_ONCE移动设备在禁飞区,飞行器GPS信号不好,解锁前无法起飞。
      HAVE_ONE_HOUR_WILL_APPLY_TFRS1小时后,7KM内将有临时限飞区生效,请注意飞行安全。
      Class Members:
      enum FlySafeSeriousWarningEvent
      enum FlySafeSeriousWarningEvent
      包:dji.v5.manager.aircraft.flysafe.info
      描述:

      飞行安全严重警告信息的事件枚举。

      MSDK 5.3.0开始支持

      Enum Members:
      IN_NO_FLY_ZONE飞行器处于禁飞区,倒计时结束后会强制自动掉落。你将无法控制飞行器油门,但可以控制飞行器的前后左右以避开障碍物。
      IN_LIMIT_HEIGHT_AREA飞行器处于限高区,倒计时结束后会自动下降到限高高度。你将无法控制飞行器油门,但可以控制飞行器的前后左右以避开障碍物。
      IN_AUTHORIZATION_ZONE_WITHOUT_UNLOCKING飞行器处于授权区,倒计时结束后会强制自动掉落。你将无法控制飞行器油门,但可以控制飞行器的前后左右以避开障碍物。
      HAVE_THREE_MIN_WILL_APPLY_TFRS三分钟后,附近将有临时限飞区生效,请注意飞行安全。
      Class Members:
      enum FlySafeReturnToHomeEvent
      enum FlySafeReturnToHomeEvent
      包:dji.v5.manager.aircraft.flysafe.info
      描述:

      飞行安全返航信息的事件枚举。

      MSDK 5.3.0开始支持

      Enum Members:
      NEAR_NO_FLY_ZONE接近禁飞区。返航可能会受到影响。请小心飞行。
      CROSS_NO_FLY_ZONE当前返航路线将经过禁飞区。返航可能会失败,请注意飞行器位置。
      Class Members:
      enum FlyZoneType
      enum FlyZoneType
      包:dji.v5.manager.aircraft.flysafe.info
      描述:

      限飞区类型。包括机场,公园,学校,体育馆等。

      MSDK 5.3.0开始支持

      Enum Members:
      AIRPORT机场。
      COMMERCIAL_AIRPORTS商业机场。
      PRIVATE_COMMERCIAL_AIRPORTS私人商业机场。
      RECREATIONAL_AIRPORTS休闲机场。
      PRIVATE_RECREATIONAL_AIRPORTS私人休闲机场。
      HELIPORT直升机场。
      UNPAVED_AIRPORT未使用机场。
      NATIONAL_PARKS公园。
      NOAA美国国家海洋和大气局。
      PARCEL邮局。
      POWER_PLANT发电厂。
      SCHOOL学校。
      STADIUM体育场。
      NUCLEAR_POWER_PLANT核电站。
      PROHIBITED_SPECIAL_USE特殊用途。
      RESTRICTED_SPECIAL_USE特殊用途。
      SPECIAL特殊限飞区。
      TEMPORARY_FLIGHT_RESTRICTIONS临时飞行限制。
      CLASS_B_AIR_SPACEB类管制空域。 有关美国受控空域(B、C、D、E 类)的更多信息,请参见http://www.dji.com/flysafe/geo-system#notes。
      CLASS_C_AIR_SPACEC类管制空域。 有关美国受控空域(B、C、D、E 类)的更多信息,请参见http://www.dji.com/flysafe/geo-system#notes。
      CLASS_D_AIR_SPACED类管制空域。 有关美国受控空域(B、C、D、E 类)的更多信息,请参见http://www.dji.com/flysafe/geo-system#notes。
      CLASS_E_AIR_SPACEE类管制空域。 有关美国受控空域(B、C、D、E 类)的更多信息,请参见http://www.dji.com/flysafe/geo-system#notes。
      PRISON监狱。
      MILITARY军事用地。
      Class Members:
      enum FlyZoneCategory
      enum FlyZoneCategory
      包:dji.v5.manager.aircraft.flysafe.info
      描述:

      限飞区策略。包括禁飞区,授权区,警告区和加强警告区等。

      MSDK 5.3.0开始支持

      Enum Members:
      WARNING警告区。
      ENHANCED_WARNING加强警告区。
      AUTHORIZATION授权区。
      RESTRICTED禁飞区。
      Class Members:
      enum FlyZoneShape
      enum FlyZoneShape
      包:dji.v5.manager.aircraft.flysafe.info
      描述:

      限飞区形状类型。包括圆形和多边形。

      MSDK 5.3.0开始支持

      Enum Members:
      CIRCLE圆形。
      MULTI_POLYGON多边形。包含圆柱和多边形限飞区。
      Class Members:
      enum MultiPolygonFlyZoneShape
      enum MultiPolygonFlyZoneShape
      包:dji.v5.manager.aircraft.flysafe.info
      描述:

      多边形限飞区形状类型。包括圆柱和多边形。

      MSDK 5.3.0开始支持

      Enum Members:
      CYLINDER圆柱。
      POLYGON多边形。
      Class Members:
      enum RidUnlockType
      enum RidUnlockType
      包:dji.v5.manager.aircraft.flysafe.info
      描述:

      RID解禁类型。

      MSDK 5.8.0开始支持

      Enum Members:
      EUROPEAN欧盟。
      CHINA中国。
      Class Members:
      enum FlySafeDatabaseUpgradeMode
      enum FlySafeDatabaseUpgradeMode
      包:dji.v5.manager.aircraft.flysafe
      描述:

      飞行安全数据库更新模式。包括手动导入和自动更新。MSDK只支持手动导入模式,如需要使用自动更新模式,请使用DJI官方APP。

      MSDK 5.8.0开始支持

      Enum Members:
      MANUAL_IMPORT手动导入模式。MSDK只支持手动更新模式,如需要使用自动更新模式,请使用DJI官方APP。
      AUTOMATIC_UPGRADE自动更新模式。MSDK只支持手动更新模式,如需要使用自动更新模式,请使用DJI官方APP。自动更新模式只能作为飞行安全的补充,如果你希望在欧盟地区合规飞行无人机,请参照将欧盟地理感知数据手动导入到飞行器中。
      Class Members:
      enum FlySafeDatabaseComponent
      enum FlySafeDatabaseComponent
      包:dji.v5.manager.aircraft.flysafe
      描述:

      飞行安全数据库模块类型。包括MSDK和飞行器。

      MSDK 5.8.0开始支持

      Enum Members:
      AIRCRAFT飞行器。
      MSDKMSDK。
      Class Members:
      enum FlySafeDatabaseState
      enum FlySafeDatabaseState
      包:dji.v5.manager.aircraft.flysafe
      描述:

      飞行安全数据库状态。

      MSDK 5.8.0开始支持

      Enum Members:
      NEED_TO_IMPORT需要导入。表示MSDK当前的数据库没有包含飞行器当前位置的数据。请调用importFlySafeDynamicDatabaseToMSDK导入飞行器位置附近的数据库。
      NEED_TO_SYNC需要同步。表示需要将MSDK中数据库同步给飞行器。请调用pushFlySafeDynamicDatabaseToAircraft将MSDK中的数据库推送给飞行器。
      UP_TO_DATE已更新到最新数据。表示MSDK的数据库已经成功同步给飞行器。
      Class Members: