Skip to content

SceneProjector 场景投放

可用于将图片和视频投放到场景中进行展示。

<mapgis-3d-scene-projector></mapgis-3d-scene-projector>

基本用法

传入投放列表

API

属性

参数说明类型默认值版本
projectors投放列表,以图层分类ProjectorLayer[][]
defaultSelectedLayerId默认选择的图层IDstring''
maxProjectedNum最大处于投放状态的投放数量,超出后会提示number10
disabledImageUrlInput是否禁止输入图片地址booleanfalse
modelUrl相机模型地址string''
modelOffset相机模型偏移量object{ headingOffset: -90, pitchOffset: 0, rollOffset: 0 }
modelScale相机模型缩放比例number1
imageUpload图片上传具名插槽。提供onUpdateImageUrl属性,外部组件在获取到图片url后,可以调用onUpdateImageUrl 方法来更新投放图片的urlslot

方法

名称描述版本
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时使用(忽略边界点的高度,使用指定的高度)
}