# 功能描述

  • 根据唯一码定位到对应模型,并在视口中聚焦该模型

# 请求方式

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

# 数据格式

let jsondata = {
  modelId: "Element_资产编码:T6B1B03TA001",
  mode: "rts",
  coord_type: 2,
  coord: "0,0",
  pitch: -30,
  pitch_range: [-90, -15],
  yaw: 0,
  distance: 5,
  distance_range: [1, 4000],
  auto_rotation: true,
  cutdown_auto_rotation_time: 10,
  auto_rotation_dir: -1,
  move_time: 1.5,
  fov: 90,
  collision_test: false,
  translation_factor: 1,
  scaling_factor: 0.2,
  rotation_factor: 0.1,
  hit_highlight: true,
  hit_click_info: true,
  hit_doubleclick_focus: false,
  buse_default_distance: false,
  click_focus_distance: 1000,
};

# 参数说明

除了 modelId 为新增参数,其余各参数含义均和相机定位的参数含义一致。在根据唯一码定位模型功能中,坐标参数coord是不起作用的,会根据传入的modelId定位到模型在场景中的位置,无需通过经纬度定位模型。

参数名 描述
modelId 模型唯一码,对应 Revit 中的资产编码,如 Revit 中资产编码为``T6B1B03TA001,需要拼接前缀Element_资产编码:,最终 modelId 的值应为:Element_资产编码:T6B1B03TA001`
mode 可设置参数(r 代表旋转,t 代表移动,s 代表缩放):rts(可旋转,移动,缩放), rs(可旋转,缩放), s(只能缩放), none(锁定视角)
coord_type 使用的坐标系类型,可设置参数0:wg84,1:CGCS2000,2:BD09,3:GCJ02
coord 经度纬度高度,字符串类型,以英文逗号分隔。(根据唯一码定位模型功能中,该参数并不生效)
pitch 聚焦模型时的相机俯仰角,范围在[-90,-10],-90 趋近于俯视,越往-10 走视角越平
pitch_range 俯仰角范围,该参数设定后,聚焦到模型之后的旋转交互,视角范围会被锁定在该范围中
yaw 聚焦模型时的相机偏航角
distance 距离目标点的距离,单位:米
distance_range 聚焦模型之后的移动交互,距离范围会被锁定在该范围中
auto_rotation 相机是否自动旋转,开启后会倒计时cutdown_auto_rotation_time之后开始自动旋转
cutdown_auto_rotation_time 自动旋转倒计时时间(不做任何动作时开始倒计时)
auto_rotation_dir 机自动旋转方向,负数代表顺时针,正数代表逆时针,数值代表旋转速度
move_time 相机从当前位置定位到模型(飞行)的时间,单位:秒,设置 0 则会瞬移至目标位置
fov 视场角
collision_test 是否开启相机碰撞
translation_factor 相机平移因子
scaling_factor 相机缩放因子
rotation_factor 相机旋转因子
hit_highlight 是否开启双击物体高亮
hit_click_info 是否开启鼠标单击获取相关信息
hit_doubleclick_focus 是否开启鼠标左键双击聚焦
buse_default_distance 是否开启鼠标左键双击聚焦的距离设置
click_focus_distance 鼠标左键双击模型后的聚焦距离

# 回调格式

let callback = {
  class_name: "GisPawn",
  func_name: "SetCameraInfoById",
  data: {
    result: "success",
  },
};