DeckglLayer Class

DeckglLayer(layerTypeID, options)

Deckgl 高效率图层,该图图层为综合图层,通过该图层可创建 高效率点图层、路径图层(线图层)、高效率面图层、曲线图层、 正六边形图层(蜂巢图层)、网格图层,只需给定相依配置,因此,在创建图层之前,请仔细阅读参数配置。

Fx构造函数

# new DeckglLayer(layerTypeID, options)

参数:
名称 类型 属性 默认值 描述
layerTypeID string

高效率图层类型 ID,包括 "scatter-plot" 高效率点图层、"path-layer" 路径图层(线图层)、 "polygon-layer" 高效率面图层、 "arc-layer" 曲线图层、"hexagon-layer" 正六边形图层(蜂巢图层)、"screen-grid-layer" 网格图层。

options Object

图层配置项,包括以下参数:

data Array.<GeoJSONObject>

图层数据,支持 GeoJSON 规范数据类型。

callback Object

deckgl 图层回调函数配置项。

props Object

deckgl 图层配置项, 在该参数下配置图层配置项:

props.coverage boolean

"hexagon-layer" 配置项:六边形半径乘数,介于0 - 1之间。六边形的最终半径通过覆盖半径计算。 注意:覆盖范围不会影响分数的分配方式。 分配方式的半径仅由半径属性确定;

props.hexagonAggregator boolean

"hexagon-layer" 配置项:* @param {boolean} options.props.lightSettings - 公共配置项:光照,包含以下几个配置;

props.lightSettings.lightsPosition Array

光照配置项:指定为[x,y,z]的光在平面阵列中的位置, 在一个平面阵列。 长度应该是 3 x numberOfLights`。

props.lightSettings.lightsStrength Array

光照配置项:平面阵列中指定为“[x,y]的灯的强度。 长度应该是2 x numberOfLights`。

props.lightSettings.numberOfLights number <optional>
1

光照配置项:光照值,最大值为 5

props.lightSettings.coordinateSystem number <optional>
COORDINATE_SYSTEM.LNGLAT

光照配置项:指定灯位置的坐标系。

props.lightSettings.coordinateOrigin number <optional>
[0, 0, 0]

光照配置项:指定灯位置的坐标原点。

props.lightSettings.modelMatrix number <optional>

光照配置项:光位置的变换矩阵。

props.lightSettings.ambientRatio number <optional>
0.4

光照配置项:光照的环境比例。

props.lightSettings.diffuseRatio number <optional>
0.6

光照配置项:光的漫反射率。

props.lightSettings.specularRatio number <optional>
0.8

光照配置项:光的镜面反射率。

layerId Object <optional>

DeckglLayer 图层 Dom 元素 ID。默认使用 CommonUtil.createUniqueID("graphicLayer_" + this.layerTypeID + "_") 创建专题图层 ID。

props.opacity number <optional>
1

公共配置项:图层透明度。

props.pickable boolean <optional>
false

公共配置项:是否响应鼠标事件(鼠标点击,鼠标滑动)。

props.autoHighlight function <optional>
false

公共配置项:鼠标滑动高亮要素。

props.highlightColor function <optional>
[0, 0, 128, 128]

公共配置项:鼠标滑动高亮颜色。

props.onClick function <optional>

公共配置项:鼠标点击事件。

props.onHover function <optional>

公共配置项:鼠标滑动事件。

props.radiusScale number <optional>
1

"scatter-plot" 配置项:散点半径比例。

props.outline boolean <optional>
false

"scatter-plot" 配置项:是否边线显示。

props.strokeWidth number <optional>
1

"scatter-plot" 配置项:边线宽度。

props.radiusMinPixels number <optional>
0

"scatter-plot" 配置项:半径最小像素值。

props.radiusMaxPixels number <optional>
Number.MAX_SAFE_INTEGER

"scatter-plot" 配置项:半径最大像素值。

props.fp64 boolean <optional>
false

"scatter-plot" 配置项:否应以高精度64位模式呈现图层。

props.widthScale number <optional>
1

"path-layer" 配置项:线宽比例。

props.widthMinPixels number <optional>
0

"path-layer" 配置项:线宽最小像素值。

props.widthMaxPixels number <optional>
Number.MAX_SAFE_INTEGER

"path-layer" 配置项:线宽最大像素值。

props.rounded boolean <optional>
false

"path-layer" 配置项:节点是否绘制为弧形。

props.miterLimit number <optional>
4

"path-layer" 配置项:节点相对于线宽的最大范围,仅在 rounded 为 false 时有效;

props.fp64 boolean <optional>
false

"path-layer" 配置项:否应以高精度64位模式呈现图层。

props.dashJustified boolean <optional>
false

"path-layer" 配置项:是否虚线形式显示,仅在 getDashArray() 回调函数被指定时有效。

props.filled boolean <optional>
true

"polygon-layer" 配置项:是否填充面。

props.stroked boolean <optional>
true

"polygon-layer" 配置项:是否绘制边线。

props.extruded boolean <optional>
false

"polygon-layer" 配置项:是否拉伸建筑。

props.wireframe boolean <optional>
false

"polygon-layer" 配置项:当面被拉伸为建筑时,是否描绘建筑物边线。

props.elevationScale boolean <optional>
1

"polygon-layer" 配置项:海拔比例。

props.lineWidthScale boolean <optional>
1

"polygon-layer" 配置项:线宽比例。

props.lineWidthMinPixels boolean <optional>
0

"polygon-layer" 配置项:线宽最小像素值。

props.lineWidthMaxPixels boolean <optional>
Number.MAX_SAFE_INTEGER

"polygon-layer" 配置项:线宽最大像素值。

props.lineJointRounded boolean <optional>
false

"polygon-layer" 配置项:节点是否绘制为弧形。

props.lineMiterLimit boolean <optional>
4

"polygon-layer" 配置项:节点相对于线宽的最大范围,仅在 lineJointRounded 为 false 时有效。

props.lineDashJustified boolean <optional>
false

"polygon-layer" 配置项:是否虚线形式显示,仅在 getLineDashArray() 回调函数被指定时有效。

props.fp64 boolean <optional>
false

"polygon-layer" 配置项:否应以高精度64位模式呈现图层。

props.fp64 boolean <optional>
false

"arc-layer" 配置项:否应以高精度64位模式呈现图层。

props.strokeWidth boolean <optional>
1

"arc-layer" 配置项:线宽。

props.radius boolean <optional>
1000

"hexagon-layer" 配置项:六边形半径值。

props.extruded boolean <optional>
false

"hexagon-layer" 配置项:是否拉伸要素。

props.upperPercentile boolean <optional>
100

"hexagon-layer" 配置项:筛选箱并通过upperPercentile重新计算颜色。 颜色值大于upperPercentile的六边形将被隐藏。

props.elevationScale boolean <optional>
1

"hexagon-layer" 配置项:高程乘数,实际海拔高度由 elevationScale * getElevation(d)计算。 elevationScale是一个方便的属性,可以在不更新数据的情况下缩放所有六边形。

props.colorDomain boolean <optional>
false

"hexagon-layer" 配置项:色阶。

props.colorRange boolean <optional>
[[255,255,178,255],[254,217,118,255],[254,178,76,255],[253,141,60,255],[240,59,32,255],[189,0,38,255]]

"hexagon-layer" 配置项:色带。

查看源代码 mapboxgl/overlay/DeckglLayer.js, line 6

成员变量

Array.<mapboxgl.zondy.Graphic>

# graphics

点要素对象数组。

查看源代码 mapboxgl/overlay/DeckglLayer.js, line 78

string

# id

高效率点图层 id。

查看源代码 mapboxgl/overlay/DeckglLayer.js, line 73

boolean

# visibility Optional

图层显示状态属性。

Default Value:
  • true

查看源代码 mapboxgl/overlay/DeckglLayer.js, line 91

方法

# addData(data)

添加点要素,不会覆盖之前的要素。

参数:
名称 类型 描述
data Array.<Object>

点要素对象数组。

查看源代码 mapboxgl/overlay/DeckglLayer.js, line 268

# moveTo(layerID, beforeopt)

将图层移动到某个图层之前。

参数:
名称 类型 属性 默认值 描述
layerID string

待插入的图层 ID。

before boolean <optional>
true

是否将本图层插入到图层 id 为 layerID 的图层之前(如果为 false 则将本图层插入到图层 id 为 layerID 的图层之后)。

查看源代码 mapboxgl/overlay/DeckglLayer.js, line 189

# onAdd(map) → {mapboxgl.zondy.DeckglLayer}

参数:
名称 类型 描述
map mapboxgl.Map

Mapbox GL 地图对象。

查看源代码 mapboxgl/overlay/DeckglLayer.js, line 98

# removeData()

移除所有要素。

查看源代码 mapboxgl/overlay/DeckglLayer.js, line 313

# removeFromMap()

删除该图层。

Deprecated:
  • Yes

查看源代码 mapboxgl/overlay/DeckglLayer.js, line 179

# setData(data)

设置绘制的点要素数据,会覆盖之前的所有要素。

参数:
名称 类型 描述
data Array.<Object>

点要素对象数组。

查看源代码 mapboxgl/overlay/DeckglLayer.js, line 247

# setStyle(styleOptions)

设置图层整体样式。

参数:
名称 类型 属性 默认值 描述
styleOptions Object

样式对象。

color Array.<number> <optional>
[0, 0, 0, 255]

点颜色。

radius number <optional>
10

点半径。

opacity number <optional>
0.8

不透明度。

highlightColor Array <optional>

高亮颜色,目前只支持 rgba 数组。

radiusScale number <optional>
1

点放大倍数。

radiusMinPixels number <optional>
0

半径最小值(像素)。

radiusMaxPixels number <optional>
Number.MAX_SAFE_INTEGER

半径最大值(像素)。

strokeWidth number <optional>
12

边框大小。

outline boolean <optional>
false

是否显示边框。

查看源代码 mapboxgl/overlay/DeckglLayer.js, line 227

# setVisibility(visibilityopt)

设置图层可见性,设置图层的隐藏,显示,重绘的相应的可见标记。

参数:
名称 类型 属性 描述
visibility boolean <optional>

是否显示图层(当前地图的 resolution 在最大最小 resolution 之间)。

查看源代码 mapboxgl/overlay/DeckglLayer.js, line 215