视点书签插件
可以对一个特定的视角场景保存为一个标签,默认以生成标签的时间点命名,点击生成的不同标签可以进行不同的视角场景切换。
1. 加载
代码示例如下:
// 1、定义视点书签数据集
let viewPointData = []
// 2、定义视点书签插件
const viewPointPlugin = new ubm.ViewPointPlugin({
// 2.1、是否自定义数据
isCustomData: true,
// 2.2、新增视点标签的回调函数
onAdd(data) {
viewPointData.push(data)
viewPointPlugin.data = viewPointData
console.log(data);
},
// 2.3、删除视点标签的回调函数
onDelete(data) {
console.log(data);
},
})
// 3、给场景注册视点书签插件
scene.plugin.register(viewPointPlugin)
1.1 定义视点书签数据集
export interface ViewPointItem {
// ID
id?: number
// 视图编码,仅用于排序
view_code: number
// 视图名称
view_name: string
// 视图名称
view_img: string
// 相机中心点坐标X
camera_x: number
// 相机中心点坐标Y
camera_y: number
// 相机中心点坐标Z
camera_z: number
// 相机俯仰角
camera_pitch: number
// 相机偏航角
camera_yaw: number
}
1.2 定义视点书签插件
视点书签中需要定义插件的属性isCustomData
和功能函数onAdd
&onDelete
1.2.1 是否自定义数据
属性isCustomData
,默认为true
如果设置为false
,则不需要定义函数onAdd
&onDelete
1.2.2 新增视点标签的回调函数
点击新建视点
按钮,会生成一个视点标签数据,调用函数onAdd
,可回调获取当前的视点标签数据
需把获取的场景数据加入到定义好的视点书签数据集,然后赋值给插件里的data进行视点书签显示。
1.2.3 删除视点标签的回调函数
选中某个视点标签,点击删除
按钮,会删除当前视点标签,调用函数onDelete
,可获取当前删除的视点标签数据data
1.3 给场景注册视点书签插件
把viewPointPlugin
插件register
到scene
中
2. 扩展使用
2.1 视点标签动画
功效: 可以传递多个不同场景的视点标签进行动态切换
代码示例如下:
viewPointPlugin.animate(viewPoints: ViewPointItem[], animateOption?: AnimateOptions)
- viewPoints: 视点数据, 同上定义的视点书签数据集
- option: 动画选项,默认为{},也可不定义
Table of Contents