地图元素

2024-12-20
暂无评分

功能概述

地图元素功能集主要是把DJI Pilot 2地图界面上的点线面及观察记录元素可以同步到云服务端,最终实现指挥官在web页面画点线面标记,可以实时同步给Pilot端的飞手,这样实现实时的战术指挥。当然,飞手看到可疑目标,也可以在DJI Pilot 2的地图上打点或画线面,另外,飞手飞行过程中的轨迹,观测记录等信息也会实时同步给Web端。

同时,云平台可以在接收到A飞机的DJI Pilot 2地图元素信息后,同步给B飞机的DJI Pilot 2,这样实现不同飞手之间的地图元素信息共享。

注意:

  1. 只有在设置完工作空间workspace时,Pilot2才会开始同步workspace下的元素,因此设置workspace是必要的。
  2. 同一台飞机的AB控会自动进行地图元素同步,无需经过服务端转发。
  3. 如果A控没有连服务器,B控连服务器,则A控新增的点会先同步到B控,再由B控同步到服务器。
  4. 地图元素的经纬度坐标采用了WGS84坐标系,如果Web端采用的是百度、高德地图等,需要做坐标转换。


DJI Pilot 2上地图元素显示

Web端地图元素显示

交互时序图

Pilot2 WebviewDJI Pilot 2Cloud ServerWeb Page需先设置workspaceId, 加载api,ws模块首次登录,拉取全部地图元素列表创建、更新、删除元素刷新图层登录第三方云平台加载api模块加载Ws模块Websocket连接连接设置workspace信息加载地图元素map模块获取元素列表返回列表获取元素列表返回列表在DJI Pilot 2地图上创建、更新、删除点线面元素发送创建、更新、删除元素请求应答websocket通知web端创建、更新、删除元素在Web地图上创建、更新、删除点线面元素发送创建、更新、删除元素请求应答websocket通知DJI Pilot 2端创建、更新、删除层元素地图元素拖动更新更新图层信息websocket 发送图层刷新信息获取刷新的图层元素列表返回元素列表Pilot2 WebviewDJI Pilot 2Cloud ServerWeb Page

接口详细实现

  • JSBridgeopen in new window
    加载地图元素模块
    在使用地图元素功能之前,需要预先在H5页面中通过JSBridge设置好工作空间信息(workspaceId),配置好ws模块和api模块,然后加载DJI Pilot 2的map模块。开发者可以考虑在上下线登录阶段直接添加加载map模块的接口。

  • 地图元素(HTTPS)open in new window

    • 获取地图元素列表
      DJI Pilot 2在首次上线后,会发送http请求去获取地图元素列表,服务端需要把共享的地图元素列表发给DJI Pilot 2。同时,当接收到websocket指令进行图层刷新的时候,也是需要调用该接口进行请求地图元素列表。

    注意:列表里需要有App共享图层,否则后继元素修改将无法同步到服务器。

    • 创建地图元素
      当用户在DJI Pilot 2或Web端画点线面时,DJI Pilot 2或Web会向服务端发送一条新增地图元素的请求。服务端收到请求后,进行应答。

    • 更新地图元素
      当用户在DJI Pilot 2或Web端编辑点线面时,Pilot2或Web会向服务端发送一条更新地图元素的请求。服务端收到请求后,进行应答。

    • 删除地图元素
      当用户在DJI Pilot 2或Web端删除点线面时,DJI Pilot 2或Web会向服务端发送一条删除地图元素的请求,服务端收到请求后,进行应答。

  • 地图元素(WebSocket)open in new window
    消息发布

    • 刷新图层元素列表推送
      当服务端有多个图层中的元素都变动时,例如web端拖动地图元素,可以通过websocket通知客户端进行元素列表刷新,下发的参数中带有图层的group_id,然后客户端接收到这个id之后,在通过http调用 “获取地图元素列表”的请求,进行元素列表的更新。
    • 新增/更新/删除地图元素推送
      服务端接收到DJI Pilot 2/Web端发送过来的新增/更新/删除地图元素请求后,会更新服务端存储的地图元素,并把改动的地图元素通过websocket通知在同一个workspace下的各个终端。
若您对文档有意见或疑惑,点击可快速反馈,我们会与您联系。