Class: DeckglLayer

mapboxgl.supermap.DeckglLayer

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

new mapboxgl.supermap.DeckglLayer(layerTypeID, options)

mapboxgl/overlay/DeckglLayer.js, line 10
Name Type Description
layerTypeID string

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

options Object

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

Name Type Default Description
data Array.<GeoJSONObject>

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

callback Object

deckgl 图层回调函数配置项。

props Object

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

Name Type Default Description
coverage boolean

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

hexagonAggregator boolean

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

lightSettings.lightsPosition Array

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

lightSettings.lightsStrength Array

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

lightSettings.numberOfLights number 1 可选

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

lightSettings.coordinateSystem number COORDINATE_SYSTEM.LNGLAT 可选

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

lightSettings.coordinateOrigin number [0, 0, 0] 可选

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

lightSettings.modelMatrix number 可选

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

lightSettings.ambientRatio number 0.4 可选

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

lightSettings.diffuseRatio number 0.6 可选

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

lightSettings.specularRatio number 0.8 可选

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

layerId Object 可选

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

props.opacity number 1 可选

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

props.pickable boolean false 可选

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

props.autoHighlight function false 可选

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

props.highlightColor function [0, 0, 128, 128] 可选

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

props.onClick function 可选

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

props.onHover function 可选

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

props.radiusScale number 1 可选

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

props.outline boolean false 可选

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

props.strokeWidth number 1 可选

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

props.radiusMinPixels number 0 可选

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

props.radiusMaxPixels number Number.MAX_SAFE_INTEGER 可选

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

props.fp64 boolean false 可选

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

props.widthScale number 1 可选

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

props.widthMinPixels number 0 可选

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

props.widthMaxPixels number Number.MAX_SAFE_INTEGER 可选

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

props.rounded boolean false 可选

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

props.miterLimit number 4 可选

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

props.fp64 boolean false 可选

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

props.dashJustified boolean false 可选

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

props.filled boolean true 可选

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

props.stroked boolean true 可选

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

props.extruded boolean false 可选

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

props.wireframe boolean false 可选

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

props.elevationScale boolean 1 可选

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

props.lineWidthScale boolean 1 可选

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

props.lineWidthMinPixels boolean 0 可选

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

props.lineWidthMaxPixels boolean Number.MAX_SAFE_INTEGER 可选

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

props.lineJointRounded boolean false 可选

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

props.lineMiterLimit boolean 4 可选

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

props.lineDashJustified boolean false 可选

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

props.fp64 boolean false 可选

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

props.fp64 boolean false 可选

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

props.strokeWidth boolean 1 可选

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

props.radius boolean 1000 可选

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

props.extruded boolean false 可选

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

props.upperPercentile boolean 100 可选

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

props.elevationScale boolean 1 可选

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

props.colorDomain boolean false 可选

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

props.colorRange boolean [[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" 配置项:色带。

Members

graphicsArray.<mapboxgl.supermap.Graphic>

点要素对象数组。

idstring

高效率点图层 id。

visibilityboolean

图层显示状态属性。

Default Value:
true

Methods

addData(data)

mapboxgl/overlay/DeckglLayer.js, line 239

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

Name Type Description
data Array.<Object>

点要素对象数组。

clear()

mapboxgl/overlay/DeckglLayer.js, line 274

释放图层资源。

moveTo(layerID, before)

mapboxgl/overlay/DeckglLayer.js, line 160

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

Name Type Default Description
layerID string

待插入的图层 ID。

before boolean true 可选

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

onAdd(map){mapboxgl.supermap.DeckglLayer}

mapboxgl/overlay/DeckglLayer.js, line 102
Name Type Description
map mapboxgl.Map

Mapbox GL 地图对象。

Returns:
Type Description
mapboxgl.supermap.DeckglLayer

remove()

mapboxgl/overlay/DeckglLayer.js, line 140

删除该图层。

removeData()

mapboxgl/overlay/DeckglLayer.js, line 284

移除所有要素。

removeFromMap()

mapboxgl/overlay/DeckglLayer.js, line 150

删除该图层。

Deprecated
  • Yes

setData(data)

mapboxgl/overlay/DeckglLayer.js, line 218

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

Name Type Description
data Array.<Object>

点要素对象数组。

setStyle(styleOptions)

mapboxgl/overlay/DeckglLayer.js, line 198

设置图层整体样式。

Name Type Description
styleOptions Object

样式对象。

Name Type Default Description
color Array.<number> [0, 0, 0, 255] 可选

点颜色。

radius number 10 可选

点半径。

opacity number 0.8 可选

不透明度。

highlightColor Array 可选

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

radiusScale number 1 可选

点放大倍数。

radiusMinPixels number 0 可选

半径最小值(像素)。

radiusMaxPixels number Number.MAX_SAFE_INTEGER 可选

半径最大值(像素)。

strokeWidth number 12 可选

边框大小。

outline boolean false 可选

是否显示边框。

setVisibility(visibility)

mapboxgl/overlay/DeckglLayer.js, line 186

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

Name Type Description
visibility boolean 可选

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

update()

mapboxgl/overlay/DeckglLayer.js, line 257

更新图层。