跳到主要内容

画布视野控制

更新时间 2025/02/22 07:19:43

画布视野即无限画布中用户可见的画布范围,用户可以通过手势、鼠标等操作进行画布的移动或者缩放。如果您希望通过其他方式改变画布视野,我们也提供了 API 来支持您完成对视野的控制。

slideToView

slideToView: (targetView: ViewRect, options?: OptionsT) => Promise<boolean>;

移动画布视野至指定的区域,并支持设置一系列偏好,如视野 padding、动画持续时间等,过程中会自动调整视野缩放比例。由于可以设置移动视野动画持续时间, 及在某些特殊情况下无法主动移动视野(如处于强制跟随的情况下),所以该 API 会返回一个 Promise,并解析为一个 boolean 值,用以表示视野移动是否成功。

注:成功执行本 API 后,并非是将画布视野严格设置为 targetView 指定的区域,而是能够确保画布视野能够完全包含 targetView 区域。默认情况下,会使得指定区域在当前视野居中显示。

参数

ViewRect 类型描述如下:

参数名
类型
描述
x
number
指定区域左上角横坐标
y
number
指定区域左上角纵坐标
width
number
指定区域宽度 (画布距离单位)
height
number
指定区域高度 (画布距离单位)

OptionsT 类型描述如下:

参数名
类型
描述
left
number
距离画布应用左边界最小边距 (画布距离单位)
top
number
距离画布应用上边界最小边距 (画布距离单位)
right
number
距离画布应用右边界最小边距 (画布距离单位)
bottom
number
距离画布应用下边界最小边距 (画布距离单位)
duration
number
显示变更所需时间,单位为毫秒。缺失或填 0 时,则会立即完成视野变更

注:OptionsT 类型内属性全部为 Optional。

使用示例

const success = await sdkInstance.slideToView(
{
x: 0,
y: 0,
width: 1000,
height: 1000,
},
{
left: 0,
top: 0,
right: 0,
bottom: 0,
duration: 1000,
},
);

if (success) {
console.log('视野移动完成');
} else {
console.log('您处于强制跟随模式'); // 强制跟随是在会议模式中出现的情况:即被跟随用户无法移动自己的视野
}