SceneProjector 场景投放
可用于将图片和视频投放到场景中进行展示。
<mapgis-3d-scene-projector></mapgis-3d-scene-projector>
基本用法
传入投放列表
API
属性
| 参数 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| projectors | 投放列表,以图层分类 | ProjectorLayer[] | [] | |
| defaultSelectedLayerId | 默认选择的图层ID | string | '' | |
| maxProjectedNum | 最大处于投放状态的投放数量,超出后会提示 | number | 10 | |
| disabledImageUrlInput | 是否禁止输入图片地址 | boolean | false | |
| modelUrl | 相机模型地址 | string | '' | |
| modelOffset | 相机模型偏移量 | object | { headingOffset: -90, pitchOffset: 0, rollOffset: 0 } | |
| modelScale | 相机模型缩放比例 | number | 1 | |
| imageUpload | 图片上传具名插槽。提供onUpdateImageUrl属性,外部组件在获取到图片url后,可以调用onUpdateImageUrl 方法来更新投放图片的url | slot |
方法
| 名称 | 描述 | 版本 |
|---|---|---|
| getProjectors | 获取投放列表 | |
| getCurrentSelectedLayerId | 获取当前选中的图层ID | |
| clearState | 清除投放状态 | |
| clear | 清除投放状态和投放数据 |
ProjectorLayer
投放管理图层。
typescript
export interface ProjectorLayer {
id: string // 投放图层id
name: string // 投放图层名
projectorList: Projector[] // 投放列表
}Projector
投放参数。
typescript
export interface Projector {
id: string // 投放id
name: string // 投放名
description: string // 描述
isProjected: boolean // 是否开启投放
projectorType: string // 投放类型,可设置为“video”,或者“image”
image: string // 图片地址
// 当projectorType设置为“video”时,视频参数
videoSource: {
protocol: string // 视频协议,可设置为“m3u8”,或者“mp4”
videoUrl: string // 视频路径,暂时不支持跨域
}
renderType: number //投放方式 0:根据摄像头参数投放,1:指定区域投放;默认根据摄像头参数投放
// 摄像头位置
cameraPosition: {
x: number
y: number
z: number
}
// 摄像头方位参数
orientation: {
heading: number
pitch: number
roll: number
}
horizontAngle: number // 水平视场角
verticalAngle: number // 垂直视场角
pass: number // 渲染通道
showLine: boolean // 视锥体是否显示
areaCoords: Array<any> // 绘制投放区域方式下存储的绘制点位坐标
areaType: string // 投放区域方式下绘制的投放区域类型,rectangle:矩形;polygon:多边形
heightReference: number // 是否贴场景选择 0:使用areaCoords坐标中的Z;1:忽略areaCoords坐标中的z,使用offsetHeight指定的高度;2:贴场景;默认贴场景
offsetHeight: number // 离地高度 在heightReference值为1时使用(忽略边界点的高度,使用指定的高度)
}