# 功能描述
- 根据唯一码定位到对应模型,并在视口中聚焦该模型
# 请求方式
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",
},
};