# Video2D
查阅Cesium API

#### new mars3d.graphic.Video2D(options)
graphic/entity/Video2D.js 62

视频融合（投射2D平面）, 根据相机位置、方向等参数，在相机前面生成一个PolygonEntity面，然后贴视频纹理

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | 参数对象，包括以下：
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`position` | LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | Array.<number> | string |  | 可选 相机坐标位置
`targetPosition` | LngLatPoint | Cesium.Cartesian3 | Array.<number> |  | 可选 目标视点位置,可以替代style中的相机heading\pitch\roll方向和distance距离参数
`style` | Video2D.StyleOptions |  | 样式信息
`attr` | object | BaseGraphic.AjaxAttr |  | 可选 附件的属性信息，可以任意附加属性，导出geojson或json时会自动处理导出。
`play` | boolean | `true` | 可选 初始化后默认是播放还是停止状态
`synchronizer` | boolean |  | 可选 是否内部加VideoSynchronizer同步时钟
`popup` | string | Array | function |  | 可选 绑定的popup弹窗值，也可以bindPopup方法绑定
`popupOptions` | Popup.StyleOptions |  | 可选 popup弹窗时的配置参数，也支持如pointerEvents等`Popup`构造参数
`tooltip` | string | Array | function |  | 可选 绑定的tooltip弹窗值，也可以bindTooltip方法绑
`tooltipOptions` | Tooltip.StyleOptions |  | 可选 tooltip弹窗时的配置参数，也支持如pointerEvents等`Tooltip`构造参数
`contextmenuItems` | object |  | 可选 当矢量数据支持右键菜单时，也可以bindContextMenu方法绑定
`id` | string | number | `createGuid()` | 可选 矢量数据id标识
`name` | string |  | 可选 矢量数据名称
`show` | boolean | `true` | 可选 矢量数据是否显示
`eventParent` | BaseClass | boolean |  | 可选 指定的事件冒泡对象，默认为所加入的图层对象，false时不冒泡事件
`allowDrillPick` | boolean | function |  | 可选 是否允许鼠标穿透拾取
`flyTo` | boolean |  | 可选 加载完成数据后是否自动飞行定位到数据所在的区域。
`flyToOptions` | object |  | 可选 加载完成数据后是否自动飞行定位到数据所在的区域的对应 `BaseGraphic#flyTo`方法参数。

##### 参考:

- `支持的事件类型`

### 继承自

- PointPolygonEntity

### 属性值

#### angle : number
graphic/entity/Video2D.js 213

水平张角，半场角度

#### angle2 : number
graphic/entity/Video2D.js 226

垂直张角，半场角度

#### distance : number
graphic/entity/Video2D.js 239

投射距离（单位：米）

#### 只读 EditClass : EditVideo2D
graphic/entity/Video2D.js 125

编辑处理类

#### 只读 entityGraphic : Cesium.PolygonGraphics
graphic/entity/PolygonEntity.js 139

矢量数据对应的 Cesium内部对象的具体类型对象

继承自:
  - PolygonEntity#entityGraphic

#### flipx : boolean
graphic/entity/Video2D.js 264

是否X方向翻转视频

#### flipy : boolean
graphic/entity/Video2D.js 279

是否Y方向翻转视频

#### heading : number
graphic/entity/Video2D.js 172

四周方向角，0至360度角度值
提示：父类属性，非所有子类都具备

#### 只读 hierarchy : Cesium.PolygonHierarchy
graphic/entity/PolygonEntity.js 192

对应的Cesium面entity内部位置对象

继承自:
  - PolygonEntity#hierarchy

#### opacity : number
graphic/entity/Video2D.js 252

混合系数0-1

#### pitch : number
graphic/entity/Video2D.js 186

俯仰角，上下摇摆的角度，0至360度角度值
提示：父类属性，非所有子类都具备

#### play : boolean
graphic/entity/Video2D.js 307

暂停或播放 视频

#### 只读 point : LngLatPoint
graphic/entity/PointPolygonEntity.js 73

位置坐标 （笛卡尔坐标）

继承自:
  - PointPolygonEntity#point

#### position : Cesium.Cartesian3|LngLatPoint
graphic/entity/PointPolygonEntity.js 50

位置坐标 （笛卡尔坐标）, 赋值时可以传入LatLngPoint对象

继承自:
  - PointPolygonEntity#position

#### 只读 positionShow : Cesium.Cartesian3
graphic/entity/PointPolygonEntity.js 64

当前实时位置坐标（笛卡尔坐标）

继承自:
  - PointPolygonEntity#positionShow

#### 只读 positionsShow : Array.<Cesium.Cartesian3>
graphic/entity/PolygonEntity.js 173

实际显示的坐标数组 （笛卡尔坐标）， 如标绘中时positions对应的可能只是控制点坐标或CallbackProperty属性

继承自:
  - PolygonEntity#positionsShow

#### roll : number
graphic/entity/Video2D.js 200

滚转角，左右摆动的角度，0至360度角度值
提示：父类属性，非所有子类都具备

#### showFrustum : boolean
graphic/entity/Video2D.js 294

是否显示视椎体框线

#### targetPosition : Cesium.Cartesian3|LngLatPoint
graphic/entity/Video2D.js 133

目标点位置(笛卡尔坐标)

### 方法

#### setOpacity(value) → void
graphic/entity/Video2D.js 387

设置整体透明度(globalAlpha值), 不是所有类型均支持，主要看数据类型和材质类型决定。 对象本身透明度请用 graphic.setStyle({ opacity: value })

参数名称 | 类型 | 描述信息
--- | --- | ---
`value` | number | 透明度

##### 返回值:

无

#### setView() → void
graphic/entity/Video2D.js 573

定位至相机的第一视角

##### 返回值:

无

#### startDraw(layer) → void
graphic/entity/Video2D.js 595

开始绘制矢量数据，绘制的数据会加载在layer图层。

参数名称 | 类型 | 描述信息
--- | --- | ---
`layer` | GraphicLayer | 图层

##### 返回值:

无

#### stopDraw() → void
graphic/entity/Video2D.js 620

停止绘制

##### 返回值:

无

#### toGeoJSON(options) → object
graphic/entity/PolygonEntity.js 484

将矢量数据导出为GeoJSON格式规范对象。

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | 可选 参数对象:
参数名称 | 类型 | 描述信息
--- | --- | ---
`closure` | boolean | 可选 是否闭合，true时增加第1个点。
`noAlt` | boolean | 可选 不导出高度值

##### 返回值:

GeoJSON格式规范对象

继承自:
  - PolygonEntity#toGeoJSON

### 定义的类型

#### mars3d.graphic.Video2D.StyleOptions
graphic/entity/Video2D.js 22

视频融合（投射2D平面） 支持的样式信息

##### 属性:

属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`url` | string | <可选> |  | 视频对应url地址
`container` | HTMLVideoElement | <可选> |  | 视频对应的video标签,与url二选一
`maskImage` | string | <可选> |  | 遮盖融合的图片url地址，可用于视频等场景下的四周羽化效果。
`angle` | number |  |  | 水平张角(度数)
`angle2` | number |  |  | 垂直张角(度数)
`distance` | number |  |  | 投射距离
`heading` | number | <可选> | 0 | 方向角 （度数值，0至360度），正东方向为0,顺时针到360度
`pitch` | number | <可选> | 0 | 俯仰角（度数值，0至360度）
`roll` | number | <可选> | 0 | 翻滚角（度数值，0至360度）
`opacity` | number | <可选> | 1.0 | 透明度
`flipx` | boolean | <可选> | false | 是否X方向翻转视频
`flipy` | boolean | <可选> | false | 是否Y方向翻转视频
`stRotation` | number | <可选> | 0 | 多边形纹理的角度（弧度值），正北为0，逆时针旋转
`stRotationDegree` | number | <可选> | 0 | 多边形纹理的角度（度数值，0至360度），与stRotation二选一
`outline` | boolean | <可选> | false | 是否边框
`outlineWidth` | number | <可选> | 1 | 边框宽度，outlineWidth只适用于非Windows系统，如Android、iOS、Linux和OS X。这是由于WebGL是如何在Windows上的所有三个主要浏览器引擎中实现所限制的，目前只能显示1px。
`outlineColor` | string | Cesium.Color | <可选> | "#ffffff" | 边框颜色
`outlineOpacity` | number | <可选> | 0.6 | 边框透明度
`outlineStyle` | PolylineEntity.StyleOptions | <可选> |  | 边框的完整自定义样式，会覆盖outlineWidth、outlineColor等参数。
`distanceDisplayCondition` | boolean | Cesium.DistanceDisplayCondition | <可选> | false | 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
`distanceDisplayCondition_far` | number | <可选> | Number.MAX_VALUE | 最大距离
`distanceDisplayCondition_near` | number | <可选> | 0 | 最小距离
`hasShadows` | boolean | <可选> | false | 是否阴影
`shadows` | Cesium.ShadowMode | <可选> | Cesium.ShadowMode.DISABLED | 指定多边形是投射还是接收来自光源的阴影。
`showFrustum` | boolean | <可选> | false | 是否显示视椎体框线

##### 参考:

- PolygonEntity.StyleOptions