# 新增

# 功能描述

  • 设置漫游镜头相关参数,如果漫游相机没有路径点,也可以在场景中自定义漫游路径点

  • 向场景中添加漫游镜头

# 请求方式

gisTwin.UEAPI("CameraRoaming", "Add", jsondata, (e) => {
  console.log(e); //成功、失败回调
});

# 数据格式

let jsondata = {
  id: "CameraRoaming_id", //漫游相机唯一码id
  coord_type: 2, //点位信息GIS坐标类型
  points: [
    //漫游路径点位信息
    {
      arrive_tangent: [39622.6484375, 5787.4765625, 515.6025390625], //路径点位入切点(控制路线形状)
      leave_tangent: [39622.6484375, 5787.4765625, 515.6025390625], //路径点位离切点
      point_type: 1, //默认为1,点位类型(0:Linear,1:Curve,2:Constant,3,CurveClamped,4:CurveCustomTangent)
      position: "104.071643,30.648716,122.552475" //点位GIS坐标
    },
    {
      arrive_tangent: [-2276.921875, 38477.96875, 63.71240234375],
      leave_tangent: [-2276.921875, 38477.96875, 63.71240234375],
      point_type: 1,
      position: "104.076468,30.644346,116.165016"
    },
    {
      arrive_tangent: [-39622.6484375, -5787.4765625, -515.6025390625],
      leave_tangent: [-39622.6484375, -5787.4765625, -515.6025390625],
      point_type: 1,
      position: "104.071235,30.641776,117.248260"
    },
    {
      arrive_tangent: [2276.921875, -38477.96875, -699.18310546875],
      leave_tangent: [2276.921875, -38477.96875, -699.18310546875],
      point_type: 1,
      position: "104.068137,30.645449,105.852966"
    }
  ],
  enble_edit: true, //是否可编辑
  closed_loop: true, //路径是否闭环
  show_spline: true, //是否显示路径
  speed: 200 //漫游相机速度
};

# 回调格式

  • 如果 id 不存在更新失败
let callback = {
  class_name: "CameraRoaming",
  func_name: "Add",
  data: {
    result: "success"
  }
};

# 更新

# 功能描述

  • 设置漫游镜头相关参数,如果漫游相机没有路径点,也可以在场景中自定义漫游路径点

  • 向场景中更新漫游镜头

# 请求方式

gisTwin.UEAPI("CameraRoaming", "Update", jsondata, (e) => {
  console.log(e); //成功、失败回调
});

# 数据格式

let jsondata = {
  id: "CameraRoaming_id", //漫游相机唯一码id
  coord_type: 2, //点位信息GIS坐标类型
  points: [
    //漫游路径点位信息
    {
      arrive_tangent: [39622.6484375, 5787.4765625, 515.6025390625], //路径点位入切点(控制路线形状)
      leave_tangent: [39622.6484375, 5787.4765625, 515.6025390625], //路径点位离切点
      point_type: 1, //默认为1,点位类型(0:Linear,1:Curve,2:Constant,3,CurveClamped,4:CurveCustomTangent)
      position: "104.071643,30.648716,122.552475" //点位GIS坐标
    },
    {
      arrive_tangent: [-2276.921875, 38477.96875, 63.71240234375],
      leave_tangent: [-2276.921875, 38477.96875, 63.71240234375],
      point_type: 1,
      position: "104.076468,30.644346,116.165016"
    },
    {
      arrive_tangent: [-39622.6484375, -5787.4765625, -515.6025390625],
      leave_tangent: [-39622.6484375, -5787.4765625, -515.6025390625],
      point_type: 1,
      position: "104.071235,30.641776,117.248260"
    },
    {
      arrive_tangent: [2276.921875, -38477.96875, -699.18310546875],
      leave_tangent: [2276.921875, -38477.96875, -699.18310546875],
      point_type: 1,
      position: "104.068137,30.645449,105.852966"
    }
  ],
  enble_edit: true, //是否可编辑
  closed_loop: true, //路径是否闭环
  show_spline: true, //是否显示路径
  speed: 200 //漫游相机速度
};

# 回调格式

  • 如果 id 不存在更新失败
let callback = {
  class_name: "CameraRoaming",
  func_name: "Update",
  data: {
    result: "success"
  }
};

# 删除

# 功能描述

  • 设置漫游镜头相关参数,如果漫游相机没有路径点,也可以在场景中自定义漫游路径点

  • 向场景中删除漫游镜头

# 请求方式

gisTwin.UEAPI("CameraRoaming", "Delete", jsondata, (e) => {
  console.log(e); //成功、失败回调
});

# 数据格式

let jsondata = {
  ids: ["CameraRoaming_id"] //需删除漫游相机id数组
};

# 回调格式

let callback = {
  class_name: "CameraRoaming",
  func_name: "Delete",
  data: {
    result: "success"
  }
};

# 清除

# 功能描述

  • 设置漫游镜头相关参数,如果漫游相机没有路径点,也可以在场景中自定义漫游路径点

  • 清除场景中所有的漫游镜头

# 请求方式

gisTwin.UEAPI("CameraRoaming", "ClearAll", jsondata, (e) => {
  console.log(e); //成功、失败回调
});

# 数据格式

let jsondata = {};

# 回调格式

let callback = {
  class_name: "CameraRoaming",
  func_name: "ClearAll",
  data: {
    result: "success"
  }
};

# 获取镜头信息

# 简要描述

  • 事件监听处理器函数, 接收所有从云渲染返回的事件, 数据等信息

# 监听注册

gisTwin.UEAPI("RegisterCloudResponse", myHandleResponseFunction);

# 事件解析

function myHandleResponseFunction(data) {
  switch (data.func_name) {
    case "CurrentCameraRoaming":
      show_camerainfo(data); //返回当前漫游镜头的信息
      break;
    case "CurrentCameraRoamingEndAddPoint":
      document.getElementById("camera_addpoint").innerHTML = "加点结束"; //通知添加点位结束
      break;
  }
}

# 新增路径点

# 功能描述

  • 设置漫游镜头相关参数,如果漫游相机没有路径点,也可以在场景中自定义漫游路径点

  • 向场景中漫游镜头新增路径点信息,需过获取当前漫游镜头又参数信息才能添加

# 请求方式

gisTwin.UEAPI("CameraRoaming", "AddingPoint", jsondata, (e) => {
  console.log(e); //成功、失败回调
});

# 数据格式

let jsondata = {};

# 回调格式

let callback = {
  class_name: "CameraRoaming",
  func_name: "AddingPoint",
  data: {
    result: "success" // "success:add":开始添加 ,"success:end":结束添加
  }
};

# 播放

# 功能描述

  • 设置漫游镜头相关参数,如果漫游相机没有路径点,也可以在场景中自定义漫游路径点

  • 向场景中漫游镜头跟随镜头路径播放,当前漫游镜头需要点位在 2 个及以上才能播放成功

# 请求方式

gisTwin.UEAPI("CameraRoaming", "Play", jsondata, (e) => {
  console.log(e); //成功、失败回调
});

# 数据格式

let jsondata = {};

# 回调格式

let callback = {
  class_name: "CameraRoaming",
  func_name: "Play",
  data: {
    result: "success" // "success:play":播放 ,"success:pause":暂停
  }
};

# 简要描述

  • 事件监听处理器函数, 接收所有从云渲染返回的事件, 数据等信息

# 监听注册

gisTwin.UEAPI("RegisterCloudResponse", myHandleResponseFunction);

# 事件解析

function myHandleResponseFunction(event) {
  switch (event.func_name) {
    case "CurrentCameraRoamingPlayPercentage":
      event.data.percentage; //播放百分比
      break;
  }
}

# 停止

# 功能描述

  • 设置漫游镜头相关参数,如果漫游相机没有路径点,也可以在场景中自定义漫游路径点

  • 向场景中漫游镜头停止播放,镜头交换给原始相机

# 请求方式

gisTwin.UEAPI("CameraRoaming", "Stop", jsondata, (e) => {
  console.log(e); //成功、失败回调
});

# 数据格式

let jsondata = {};

# 回调格式

let callback = {
  class_name: "CameraRoaming",
  func_name: "Stop",
  data: {
    result: "success"
  }
};