# DivGif
查阅Cesium API

#### new mars3d.graphic.DivGif(options)
graphic/div/DivGif.js 42

gif图片div点

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | 参数对象，包括以下：
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`position` | LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | BaseGraphic.AjaxPosition | BaseGraphic.TimePosition | Array.<number> | string |  | 可选 坐标位置
`style` | DivGif.StyleOptions |  | 样式信息
`attr` | object | BaseGraphic.AjaxAttr |  | 可选 附件的属性信息，可以任意附加属性，导出geojson或json时会自动处理导出。
`hasEdit` | boolean | `true` | 可选 是否允许编辑
`hasEditContextMenu` | boolean | `true` | 可选 编辑时，是否绑定右键编辑菜单
`hasEditRevoke` | boolean | `true` | 可选 编辑时，是否记录编辑步骤中坐标记录，用于还原或撤销编辑
`testPoint` | PointEntity.StyleOptions |  | 可选 测试点 的对应样式 ，可以进行用于比较测试div的位置，方便调试CSS。
`pointerEvents` | boolean |  | 可选 DIV是否可以鼠标交互，为false时可以穿透操作及缩放地图，但无法进行鼠标交互及触发相关事件。
`hasZIndex` | boolean | `false` | 可选 是否自动调整DIV的层级顺序。
`zIndex` | number | string | `"auto"` | 可选 指定固定的zIndex层级属性(当hasZIndex为true时无效)
`depthTest` | boolean | `true` | 可选 是否打开深度判断（true时判断是否在球背面）
`hasCache` | boolean | `true` | 可选 是否启用缓存机制，如为true，在视角未变化时不重新渲染。
`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` | 可选 矢量数据是否显示
`availability` | Cesium.TimeIntervalCollection | Cesium.TimeInterval | Array | object |  | 可选 指定时间范围内显示该对象
`eventParent` | BaseClass | boolean |  | 可选 指定的事件冒泡对象，默认为所加入的图层对象，false时不冒泡事件
`flyTo` | boolean |  | 可选 加载完成数据后是否自动飞行定位到数据所在的区域。
`flyToOptions` | object |  | 可选 加载完成数据后是否自动飞行定位到数据所在的区域的对应 `BaseGraphic#flyTo`方法参数。

##### 参考:

- `支持的事件类型`

### 继承自

- DivGraphic

### 属性值

#### clampToGround : boolean
graphic/div/DivGraphic.js 265

是否贴地

继承自:
  - DivGraphic#clampToGround

#### 只读 container : HTMLDivElement
graphic/div/DivGraphic.js 300

对应的DOM元素

继承自:
  - DivGraphic#container

#### 只读 containerId : string
graphic/div/DivGraphic.js 309

对应的DOM元素的id

继承自:
  - DivGraphic#containerId

#### depthTest : boolean
graphic/div/DivGraphic.js 252

是否打开深度判断（true时判断是否在球背面）

继承自:
  - DivGraphic#depthTest

#### 只读 EditClass : EditDivGraphic
graphic/div/DivGraphic.js 244

编辑处理类

继承自:
  - DivGraphic#EditClass

#### 只读 hasAjaxPostion : boolean
graphic/div/DivGraphic.js 955

是否 ajax后端动态坐标

继承自:
  - DivGraphic#hasAjaxPostion

#### 只读 hasTimePostion : boolean
graphic/div/DivGraphic.js 964

是否 time时序动态坐标

继承自:
  - DivGraphic#hasTimePostion

#### html : string|HTMLDivElement
graphic/div/DivGraphic.js 339

设置或获取当前对象对应的Html

继承自:
  - DivGraphic#html

#### 只读 isDrawing : boolean
graphic/div/DivGraphic.js 1266

是否正在绘制状态

继承自:
  - DivGraphic#isDrawing

#### 只读 isEditing : boolean
graphic/div/DivGraphic.js 235

是否正在编辑状态

继承自:
  - DivGraphic#isEditing

#### 只读 parentContainer : HTMLElement
graphic/div/DivGraphic.js 279

父容器DOM对象

继承自:
  - DivGraphic#parentContainer

#### 只读 parentContainerId : string
graphic/div/DivGraphic.js 291

父容器DOM对象的ID

继承自:
  - DivGraphic#parentContainerId

#### 只读 point : LngLatPoint
graphic/div/DivGraphic.js 160

位置坐标 （笛卡尔坐标）

继承自:
  - DivGraphic#point

#### pointerEvents : boolean
graphic/div/DivGraphic.js 221

DIV是否可以鼠标交互，为false时可以穿透操作及缩放地图，但无法进行鼠标交互及触发相关事件。

继承自:
  - DivGraphic#pointerEvents

#### position : Cesium.Cartesian3|LngLatPoint|BaseGraphic.AjaxPosition|BaseGraphic.TimePosition
graphic/div/DivGraphic.js 116

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

继承自:
  - DivGraphic#position

#### 只读 positionShow : Cesium.Cartesian3
graphic/div/DivGraphic.js 174

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

继承自:
  - DivGraphic#positionShow

#### 只读 property : Cesium.SampledPositionProperty
graphic/div/DivGraphic.js 1015

时序动态坐标对象

继承自:
  - DivGraphic#property

#### template : string
graphic/div/DivGraphic.js 320

公共部分外框部分html内容，需要加2处： (1)用于填充html的地方写上{content}标识； (2)关闭按钮加class样式：closeButton。 传空字符串或false时，不用内置模版。

继承自:
  - DivGraphic#template

#### testPoint : boolean
graphic/div/DivGraphic.js 185

是否显示测试点，可以进行用于比较测试div的位置，方便调试CSS。

继承自:
  - DivGraphic#testPoint

#### 只读 timeRange : object
graphic/div/DivGraphic.js 973

获取当前时序坐标的开始时间和结束时间,返回的是Cesium.JulianDate格式

继承自:
  - DivGraphic#timeRange

#### 只读 timeRangeStr : object
graphic/div/DivGraphic.js 982

获取当前时序坐标的开始时间和结束时间,返回的是时间字符串

继承自:
  - DivGraphic#timeRangeStr

### 方法

#### addClass(className, isParent) → void
graphic/div/DivGraphic.js 1232

添加指定的className的calss样式

参数名称 | 类型 | 描述信息
--- | --- | ---
`className` | string | class样式名称
`isParent` | boolean | 可选 多个子节点时，是否在根节点添加

##### 返回值:

无

继承自:
  - DivGraphic#addClass

#### addTimePosition(point, currTime) → DivGraphic
graphic/div/DivGraphic.js 1002

设置并添加动画轨迹位置，按“指定时间”运动到达“指定位置”。

参数名称 | 类型 | 描述信息
--- | --- | ---
`point` | LngLatPoint | Cesium.Cartesian3 | Array.<number> | 指定位置坐标
`currTime` | Cesium.JulianDate | Date | string | number | 可选 指定时间, 默认为当前时间。当为String时，可以传入'2021-01-01 12:13:00'; 当为Number时，可以传入当前时间延迟的秒数。

##### 返回值:

当前对象本身，可以链式调用

继承自:
  - DivGraphic#addTimePosition

#### autoSurfaceHeight(options) → Promise.<object>
graphic/div/DivGraphic.js 1197

异步计算更新坐标高度进行贴地(或贴模型)，内部自动调用`PointUtil#getSurfaceHeight`方法处理。

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`options` | object | `{}` | 可选 参数对象:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`has3dtiles` | boolean | `auto` | 可选 是否在3dtiles模型上分析（模型分析较慢，按需开启）,默认内部根据点的位置自动判断（但可能不准）
`objectsToExclude` | Array.<object> |  | 可选 贴模型分析时，排除的不进行贴模型计算的模型对象，可以是： primitives, entities, 或 3D Tiles features

##### 返回值:

异步计算完成的Promise

继承自:
  - DivGraphic#autoSurfaceHeight

#### clearTimePostion(maxCacheCount) → void
graphic/div/DivGraphic.js 991

清除所有时序动态坐标

参数名称 | 类型 | 描述信息
--- | --- | ---
`maxCacheCount` | number | 可选 保留的坐标数量，默认清除所有。

##### 返回值:

继承自:
  - DivGraphic#clearTimePostion

#### closeHighlight() → void
graphic/div/DivGraphic.js 1083

清除已选中的高亮，原有style的配置项需要与highlightStyle配置有一一对应关系，否则无法清除

##### 返回值:

无

继承自:
  - DivGraphic#closeHighlight

#### enableControl(value) → void
graphic/div/DivGraphic.js 1405

启用或禁用popup、tooltip、contextmenu内部控件， 主要用于标绘时来关闭避免交互冲突。

参数名称 | 类型 | 描述信息
--- | --- | ---
`value` | boolean | 是否启用

##### 返回值:

无

继承自:
  - DivGraphic#enableControl

#### endDraw() → void
graphic/div/DivGraphic.js 1384

完成绘制和编辑，如有未完成的绘制会自动完成。 在移动端需要调用此方法来类似PC端双击结束。

##### 返回值:

无

继承自:
  - DivGraphic#endDraw

#### getRectangle(options) → Cesium.Rectangle|object
graphic/div/DivGraphic.js 1216

获取数据的矩形边界

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | boolean | 可选 控制参数
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`isFormat` | boolean | `false` | 可选 是否格式化，格式化时示例： { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }

##### 返回值:

isFormat：true时，返回格式化对象，isFormat：false时返回Cesium.Rectangle对象

继承自:
  - DivGraphic#getRectangle

#### hide() → void
graphic/div/DivGraphic.js 940

隐藏当前对象

##### 返回值:

无

继承自:
  - DivGraphic#hide

#### openHighlight(highlightStyle, closeLast) → void
graphic/div/DivGraphic.js 1063

高亮对象。

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`highlightStyle` | object |  | 可选 高亮的样式，具体见各`GraphicType`矢量数据的style参数。
`closeLast` | boolean | `true` | 可选 是否清除地图上上一次的高亮对象

##### 返回值:

无

继承自:
  - DivGraphic#openHighlight

#### redraw() → void
graphic/div/DivGraphic.js 598

重新渲染对象

##### 返回值:

无

继承自:
  - DivGraphic#redraw

#### removeClass(className, isParent) → void
graphic/div/DivGraphic.js 1249

移除指定的className的calss样式

参数名称 | 类型 | 描述信息
--- | --- | ---
`className` | string | class样式名称
`isParent` | boolean | 可选 多个子节点时，是否在根节点移除

##### 返回值:

无

继承自:
  - DivGraphic#removeClass

#### setOpacity(value) → void
graphic/div/DivGraphic.js 496

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

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

##### 返回值:

无

继承自:
  - DivGraphic#setOpacity

#### startDraw(layer) → void
graphic/div/DivGraphic.js 1276

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

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

##### 返回值:

无

继承自:
  - DivGraphic#startDraw

#### startEditing() → void
graphic/div/DivGraphic.js 1420

开始编辑对象

##### 返回值:

无

继承自:
  - DivGraphic#startEditing

#### stopDraw() → void
graphic/div/DivGraphic.js 1301

停止绘制，如有未完成的绘制会自动删除

##### 返回值:

无

继承自:
  - DivGraphic#stopDraw

#### stopEditing() → void
graphic/div/DivGraphic.js 1453

停止编辑，释放正在编辑的对象。

##### 返回值:

无

继承自:
  - DivGraphic#stopEditing

#### updateDivPosition() → DivGraphic
graphic/div/DivGraphic.js 678

更新刷新下DIV的位置，可以外部主动驱动来更新。

##### 返回值:

当前对象本身，可以链式调用

继承自:
  - DivGraphic#updateDivPosition

### 定义的类型

#### mars3d.graphic.DivGif.StyleOptions
graphic/div/DivGif.js 6

gif图片div点 支持的样式信息

##### 属性:

属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`image` | string | <可选> |  | 图标URL
`width` | number | <可选> |  | 宽度，px像素值
`height` | number | <可选> |  | 高度，px像素值
`billboard.horizontalOrigin` | Cesium.HorizontalOrigin | <可选> | Cesium.HorizontalOrigin.CENTER | 横向方向的定位
`billboard.verticalOrigin` | Cesium.VerticalOrigin | <可选> | Cesium.HorizontalOrigin.CENTER | 垂直方向的定位
`offsetX` | number | <可选> |  | 用于非规则div时，横向偏移的px像素值
`offsetY` | number | <可选> |  | 用于非规则div时，垂直方向偏移的px像素值
`scaleByDistance` | boolean | <可选> | false | 是否按视距缩放
`scaleByDistance_far` | number | <可选> | 1000000 | 上限
`scaleByDistance_farValue` | number | <可选> | 0.1 | 比例值
`scaleByDistance_near` | number | <可选> | 1000 | 下限
`scaleByDistance_nearValue` | number | <可选> | 1 | 比例值
`distanceDisplayCondition` | boolean | <可选> | false | 是否按视距显示
`distanceDisplayCondition_far` | number | <可选> | Number.MAX_VALUE | 最大距离
`distanceDisplayCondition_near` | number | <可选> | 0 | 最小距离
`clampToGround` | boolean | <可选> | false | 是否贴地
`heightReference` | Cesium.HeightReference | <可选> | Cesium.HeightReference.NONE | 指定高度相对于什么的属性。
`css_transform_origin` | string | <可选> | 'left bottom 0' | DIV的 transform-origin css值
`timeRender` | boolean | <可选> |  | 是否实时刷新全部HTML，此时需要绑定html需传入回调方法。
`setHeight` | number | string | <可选> |  | 指定坐标高度值（对编辑时无效，仅初始化传入有效，常用于图层中配置）,也支持字符串模版配置
`addHeight` | number | string | <可选> |  | 在现有坐标基础上增加的高度值（对编辑时无效，仅初始化传入有效，常用于图层中配置）,也支持字符串模版配置