Class: DeckglLayer

DeckglLayer

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

new DeckglLayer(layerTypeID, options)

Usage
// 浏览器
<script type="text/javascript" src="https://iclient.supermap.io/dist/mapboxgl/iclient-mapboxgl.js"></script>
<script>
  new mapboxgl.supermap.DeckglLayer(layerTypeID, options);
  
</script>

// ES6 Import
import { DeckglLayer } from '@supermapgis/iclient-mapboxgl';

new DeckglLayer(layerTypeID, options);

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

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

options Object

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

Name Type Description
layerId Object 可选

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

data Array.<GeoJSONObject>

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

callback Object

deckgl 图层回调函数配置项。

props Object

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

Name Type Default Description
opacity number 1 可选

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

pickable boolean false 可选

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

autoHighlight function false 可选

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

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

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

onClick function 可选

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

onHover function 可选

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

radiusScale number 1 可选

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

outline boolean false 可选

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

strokeWidth number 1 可选

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

radiusMinPixels number 0 可选

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

radiusMaxPixels number Number.MAX_SAFE_INTEGER 可选

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

fp64 boolean false 可选

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

widthScale number 1 可选

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

widthMinPixels number 0 可选

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

widthMaxPixels number Number.MAX_SAFE_INTEGER 可选

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

rounded boolean false 可选

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

miterLimit number 4 可选

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

fp64 boolean false 可选

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

dashJustified boolean false 可选

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

filled boolean true 可选

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

stroked boolean true 可选

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

extruded boolean false 可选

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

wireframe boolean false 可选

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

elevationScale boolean 1 可选

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

lineWidthScale boolean 1 可选

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

lineWidthMinPixels boolean 0 可选

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

lineWidthMaxPixels boolean Number.MAX_SAFE_INTEGER 可选

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

lineJointRounded boolean false 可选

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

lineMiterLimit boolean 4 可选

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

lineDashJustified boolean false 可选

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

fp64 boolean false 可选

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

fp64 boolean false 可选

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

strokeWidth boolean 1 可选

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

radius boolean 1000 可选

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

extruded boolean false 可选

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

upperPercentile boolean 100 可选

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

elevationScale boolean 1 可选

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

colorDomain boolean false 可选

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

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" 配置项:色带。

coverage number 1 可选

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

hexagonAggregator function

"hexagon-layer" 配置项:六边形聚合函数。

lightSettings Object

光照配置项。

Name Type Default Description
lightsPosition Array

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

lightsStrength Array

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

numberOfLights number 1 可选

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

coordinateSystem number COORDINATE_SYSTEM.LNGLAT 可选

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

coordinateOrigin number [0, 0, 0] 可选

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

modelMatrix number 可选

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

ambientRatio number 0.4 可选

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

diffuseRatio number 0.6 可选

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

specularRatio number 0.8 可选

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

Extends

Members

graphicsArray.<Graphic>

点要素对象数组。

idstring

高效率点图层 ID。

Methods

inherited addData(data)

common/overlay/deckgl/DeckglLayerBase.js, line 146

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

Name Type Description
data Array.<Object>

点要素对象数组。

inherited clear()

common/overlay/deckgl/DeckglLayerBase.js, line 181

释放图层资源。

getMapInfo(map)

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

MapLibreGL Map 对象。

inherited moveTo(layerID, before)

common/overlay/deckgl/DeckglLayerBase.js, line 204

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

Name Type Default Description
layerID string

待插入的图层 ID。

before boolean true 可选

是否将本图层插入到图层 ID 为 layerID 的图层之前。

onAdd(map){DeckglLayer}

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

MapBoxGL Map 对象。

Returns:
Type Description
DeckglLayer

onRemove(map)

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

MapLibreGL Map 对象。

inherited removeData()

common/overlay/deckgl/DeckglLayerBase.js, line 191

移除所有要素。

render()

mapboxgl/overlay/DeckglLayer.js, line 145

inherited setData(data)

common/overlay/deckgl/DeckglLayerBase.js, line 125

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

Name Type Description
data Array.<Object>

点要素对象数组。

inherited setStyle(styleOptions)

common/overlay/deckgl/DeckglLayerBase.js, line 105

设置图层整体样式。

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.<number> 可选

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

radiusScale number 1 可选

点放大倍数。

radiusMinPixels number 0 可选

半径最小值,单位为像素。

radiusMaxPixels number Number.MAX_SAFE_INTEGER 可选

半径最大值,单位为像素。

strokeWidth number 12 可选

边框大小。

outline boolean false 可选

是否显示边框。

inherited setVisibility(visibility)

common/overlay/deckgl/DeckglLayerBase.js, line 230

设置图层可见性。

Name Type Description
visibility boolean 可选

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

inherited update()

common/overlay/deckgl/DeckglLayerBase.js, line 164

更新图层。