# CorridorCombine
查阅Cesium API

#### new mars3d.graphic.CorridorCombine(options)
graphic/combine/CorridorCombine.js 7

大数据 走廊 集合 (合并渲染) Primitive图元 矢量对象

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | 参数对象，包括以下：
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`instances` | Array.<object> |  | 可选 线信息 数组，单个对象包括：
参数名称 | 类型 | 描述信息
--- | --- | ---
`positions` | Array.<LngLatPoint> | Array.<Cesium.Cartesian3> | Array | 坐标位置
`style` | CorridorPrimitive.StyleOptions | 可选 样式信息 【仅支持同属性同材质（多个需分多个对象），纯色支持多颜色】
`attr` | object | 可选 矢量数据的 属性信息，可以任意附加属性。
`style` | CorridorPrimitive.StyleOptions |  | 可选 所有线的公共样式信息
`highlight` | CorridorPrimitive.StyleOptions |  | 可选 鼠标移入或单击后的对应高亮的部分样式(仅支持Color纯色材质)
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`type` | string |  | 可选 触发高亮的方式，默认鼠标移入，可以指定为type:'click'为单击后高亮
`enabled` | boolean | `true` | 可选 是否启用
`appearance` | Cesium.Appearance |  | 可选 [cesium原生]用于渲染图元的外观。
`attributes` | Cesium.Appearance |  | 可选 [cesium原生]每个实例的属性。
`depthFailAppearance` | Cesium.Appearance |  | 可选 当深度测试失败时，用于为该图元着色的外观。
`vertexCacheOptimize` | boolean | `false` | 可选 当true，几何顶点优化前和后顶点着色缓存。
`interleave` | boolean | `false` | 可选 当true时，几何顶点属性被交叉，这可以略微提高渲染性能，但会增加加载时间。
`compressVertices` | boolean | `true` | 可选 当true时，几何顶点被压缩，这将节省内存。提升效率。
`releaseGeometryInstances` | boolean | `true` | 可选 当true时，图元不保留对输入geometryInstances的引用以节省内存。
`allowPicking` | boolean | `true` | 可选 当true时，每个几何图形实例只能通过`Scene#pick`进行挑选。当false时，保存GPU内存。
`cull` | boolean | `true` | 可选 当true时，渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false，如果你手动剔除图元，可以获得较小的性能提升。
`asynchronous` | boolean | `true` | 可选 确定该图元是异步创建还是阻塞创建，直到就绪。
`debugShowBoundingVolume` | boolean | `false` | 可选 仅供调试。确定该图元命令的边界球是否显示。
`debugShowShadowVolume` | boolean | `false` | 可选 仅供调试。贴地时，确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
`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时不冒泡事件
`allowDrillPick` | boolean | function |  | 可选 是否允许鼠标穿透拾取
`flyTo` | boolean |  | 可选 加载完成数据后是否自动飞行定位到数据所在的区域。
`flyToOptions` | object |  | 可选 加载完成数据后是否自动飞行定位到数据所在的区域的对应 `BaseGraphic#flyTo`方法参数。

##### 参考:

- `支持的事件类型`

### 继承自

- BasePolyCombine

### 属性值

#### 只读 geometryInstanceAttributes : object
graphic/primitive/BasePrimitive.js 140

返回实例可修改的属性。`Cesium.GeometryInstance`

继承自:
  - BasePrimitive#geometryInstanceAttributes

##### 使用示例:

    var attributes = primitiveGraphic.geometryInstanceAttributes;
    attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
    attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true);

#### 只读 hasCluster : boolean
graphic/combine/BaseCombine.js 39

是否支持聚合

继承自:
  - BaseCombine#hasCluster

#### instances : Array.<object>
graphic/combine/BaseCombine.js 24

数据集合数组，同类的构造参数

继承自:
  - BaseCombine#instances

#### 只读 isDrawing : boolean
graphic/primitive/BasePrimitive.js 1189

是否正在绘制状态

继承自:
  - BasePrimitive#isDrawing

#### 只读 isEditing : boolean
graphic/primitive/BasePrimitive.js 184

是否正在编辑状态，不是所有子类均支持编辑

继承自:
  - BasePrimitive#isEditing

#### 只读 label : Array.<Cesium.Label>|*
graphic/combine/BasePolyCombine.js 85

附加的label文本对象

继承自:
  - BasePolyCombine#label

#### offsetHeight : number
graphic/primitive/BasePrimitive.js 196

平移指定偏移高度（相对于原始坐标值），【提示：仅部分子类支持,如 `PolygonPrimitive`、`RectanglePrimitive`、`BoxPrimitive`、`CylinderPrimitive`、`EllipsoidPrimitive`、`CorridorPrimitive`】

继承自:
  - BasePrimitive#offsetHeight

#### 只读 primitive : Cesium.Primitive|Cesium.GroundPrimitive|Cesium.ClassificationPrimitive|*
graphic/primitive/BasePrimitive.js 90

矢量数据对应的 Cesium内部对象

继承自:
  - BasePrimitive#primitive

#### 只读 primitiveCollection : Cesium.PrimitiveCollection|Cesium.LabelCollection|Cesium.BillboardCollection|Cesium.PointPrimitiveCollection|Cesium.CloudCollection
graphic/primitive/BasePrimitive.js 80

当加载primitive数据的内部Cesium容器

继承自:
  - BasePrimitive#primitiveCollection

#### 只读 ready : boolean
graphic/primitive/BasePrimitive.js 99

矢量数据对应的渲染是否完成

继承自:
  - BasePrimitive#ready

#### 只读 readyPromise : Promise.<object>
graphic/primitive/BasePrimitive.js 108

获取Primitive对象渲染完成的Promise承诺(仅部分支持,不支持对象会打印log)

继承自:
  - BasePrimitive#readyPromise

#### 只读 style : object
graphic/combine/BasePolyCombine.js 65

样式信息

继承自:
  - BasePolyCombine#style

#### 只读 uniforms : object|undefined
graphic/primitive/BasePrimitive.js 161

对应材质的uniforms（当赋有材质时）, 一个对象，它的属性被用来设置片段着色器shader。

对象属性值可以是常量或函数。这个函数将在每一帧后处理阶段执行之前被调用。

常量值也可以是图像的URI、数据URI，或者可以用作纹理的HTML元素，如HTMLImageElement或HTMLCanvasElement。

继承自:
  - BasePrimitive#uniforms

#### zIndex : number
graphic/primitive/BasePrimitive.js 210

图层顺序，数字大的在上面。
只对 同类型 + 贴地(clampToGround: true) 的部分线面矢量对象间有效

继承自:
  - BasePrimitive#zIndex

### 方法

#### closeHighlight(pickedObject) → void
graphic/combine/BasePolyCombine.js 374

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`pickedObject` | object | number | 可选 指定需要高亮的子对象, 如果是mars3d的相关事件内时，可以取 event.pickedObject ，如果是number时传入instances对象index值

##### 返回值:

无

继承自:
  - BasePolyCombine#closeHighlight

#### eachInstances(method, context, reverse) → GraphicLayer
graphic/combine/BaseCombine.js 155

遍历所有数据集合数组并将其作为参数传递给回调函数

参数名称 | 类型 | 描述信息
--- | --- | ---
`method` | function | 回调方法
`context` | object | 可选 侦听器的上下文(this关键字将指向的对象)。
`reverse` | boolean | 可选 是否倒序执行

##### 返回值:

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

继承自:
  - BaseCombine#eachInstances

#### endDraw() → boolean
graphic/primitive/BasePrimitive.js 1288

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

##### 返回值:

是否正常结束了矢量对象绘制

继承自:
  - BasePrimitive#endDraw

#### getPickedObject(pickId) → object
graphic/combine/BaseCombine.js 77

根据 pickId 获取对应绑定的数据据对象

参数名称 | 类型 | 描述信息
--- | --- | ---
`pickId` | string | 单个对象的pickid

##### 返回值:

对应绑定的数据对象

继承自:
  - BaseCombine#getPickedObject

#### getRectangle(options) → Cesium.Rectangle|object
graphic/combine/BaseCombine.js 112

获取数据的矩形边界

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

##### 返回值:

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

继承自:
  - BaseCombine#getRectangle

#### openHighlight(highlightStyle, closeLast, pickedObject) → void
graphic/combine/BasePolyCombine.js 329

高亮对象。

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`highlightStyle` | object |  | 可选 高亮的样式，具体见各`GraphicType`矢量数据的style参数。
`closeLast` | boolean | `true` | 可选 是否清除地图上上一次的高亮对象
`pickedObject` | object | number |  | 可选 指定需要高亮的子对象, 如果是mars3d的相关事件内时，可以取 event.pickedObject ，如果是number时传入instances对象index值

##### 返回值:

无

继承自:
  - BasePolyCombine#openHighlight

#### openPopup(index, event) → BaseGraphic|*
graphic/combine/BasePolyCombine.js 440

打开绑定的弹窗

参数名称 | 类型 | 描述信息
--- | --- | ---
`index` | number | 更新的instances对象index值
`event` | object | 可选 用于抛出事件时的相关额外属性

##### 返回值:

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

继承自:
  - BasePolyCombine#openPopup

#### redraw(style) → BasePrimitive
graphic/primitive/BasePrimitive.js 824

重新渲染

参数名称 | 类型 | 描述信息
--- | --- | ---
`style` | object | 可选 新的样式信息

##### 返回值:

当前对象本身

继承自:
  - BasePrimitive#redraw

#### setColorStyle(style, index) → void
graphic/combine/BaseCombine.js 270

更新颜色, 只对纯色材质有效，其他材质无法单独更新，需要setStyle方法调用(全部更新渲染)。

参数名称 | 类型 | 描述信息
--- | --- | ---
`style` | object | 样式信息
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`color` | string | Cesium.Color | `"#ffffff"` | 可选 颜色
`opacity` | number | `1.0` | 可选 透明度，取值范围：0.0-1.0
`index` | number | undefined | 可选 更新的instances对象index值，为空时更新所有对象。

##### 返回值:

空

继承自:
  - BaseCombine#setColorStyle

#### setOffsetHeight(height, index) → void
graphic/combine/BasePolyCombine.js 474

平移指定偏移高度（相对于原始坐标值），【提示：仅部分子类支持】

参数名称 | 类型 | 描述信息
--- | --- | ---
`height` | number | 可选 平移的高度值（单位：米）,为空时取每个对象的offsetHeight值
`index` | number | undefined | 可选 更新的instances对象index值，为空时更新所有对象。

##### 返回值:

无

继承自:
  - BasePolyCombine#setOffsetHeight

#### setOpacity(value) → void
graphic/primitive/BasePrimitive.js 706

设置整体透明度(globalAlpha值) , 非全部矢量数据都支持，具体需要对应Graphic支持才有效 对象本身透明度请修改 graphic.setStyle({ opacity: value })

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

##### 返回值:

无

继承自:
  - BasePrimitive#setOpacity

#### startDraw(layer) → void
graphic/primitive/BasePrimitive.js 1199

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

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

##### 返回值:

无

继承自:
  - BasePrimitive#startDraw

#### startEditing() → void
graphic/primitive/BasePrimitive.js 1350

开始编辑对象

##### 返回值:

无

继承自:
  - BasePrimitive#startEditing

#### stopDraw() → void
graphic/primitive/BasePrimitive.js 1252

停止绘制

##### 返回值:

无

继承自:
  - BasePrimitive#stopDraw

#### stopEditing() → void
graphic/primitive/BasePrimitive.js 1433

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

##### 返回值:

无

继承自:
  - BasePrimitive#stopEditing

#### toBottom() → void
graphic/primitive/BasePrimitive.js 260

将当前矢量对象在图层中层级进行 置底 (只对同类型图层间+贴地对象 有效)。

##### 返回值:

无

继承自:
  - BasePrimitive#toBottom

#### toGeoJSON(options) → object
graphic/combine/BaseCombine.js 220

将矢量数据导出为GeoJSON格式规范对象。[因为geojson格式规范，是拆分为多个Feature，如果不满足需求，也可以用toJSON方法]

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | 可选 参数对象:
参数名称 | 类型 | 描述信息
--- | --- | ---
`noAlt` | boolean | 可选 不导出高度值
`noStyle` | boolean | 可选 不导出style样式，后期使用时在图层配置symbol
`standard` | boolean | 可选 不导出options等mars3d属性，仅导出坐标和attr属性的标准简洁GeoJSON

##### 返回值:

GeoJSON格式规范对象

继承自:
  - BaseCombine#toGeoJSON

#### toJSON() → object
graphic/combine/BaseCombine.js 167

将矢量数据的坐标、样式及属性等信息导出为对象，可以用于存储。

##### 返回值:

导出的坐标、样式及属性等信息

继承自:
  - BaseCombine#toJSON

#### toTop() → void
graphic/primitive/BasePrimitive.js 249

将当前矢量对象在图层中层级进行 置顶 (只对同类型图层间+贴地对象 有效)。

##### 返回值:

无

继承自:
  - BasePrimitive#toTop