new GraphThemeLayer(name, chartsType, options)
Usage
// 浏览器
<script type="text/javascript" src="https://iclient.supermap.io/dist/mapboxgl/iclient-mapboxgl.js"></script>
<script>
new mapboxgl.supermap.GraphThemeLayer(name, chartsType, options);
</script>
// ES6 Import
import { GraphThemeLayer } from '@supermapgis/iclient-mapboxgl';
new GraphThemeLayer(name, chartsType, options);
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name |
string |
图层名。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
chartsType |
string |
图表类别。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options |
Object |
参数。
|
Fires
Extends
Members
-
idstring
-
专题图图层 ID。
-
loadWhileAnimatingboolean
-
是否实时重绘。(当绘制大数据量要素的情况下会出现卡顿,建议把该参数设为 false)。
- Default Value: true
mapmapboxgl.Map
MapBoxGL Map 对象。
namestring
专题图图层名称。
opacitynumber
图层不透明度。
- Default Value: 1
visibilityboolean
图层是否可见。
- Default Value: true
Events
-
beforefeaturesadded
mapboxgl/overlay/GraphThemeLayer.js, line 73 -
要素添加之前触发。
Properties:
Name Type Description features
ServerFeature 要被添加的要素。
-
inherited changelayer
mapboxgl/overlay/theme/ThemeLayer.js, line 198 -
图层属性改变之后触发。
Properties:
Name Type Description layer
Object 图层。
property
string 被改变的属性。
-
inherited featuresremoved
mapboxgl/overlay/theme/ThemeLayer.js, line 270 -
要素删除之后触发。
Properties:
Name Type Description features
Array.<FeatureVector> 未被成功删除的要素。
succeed
boolean 删除成功与否。
Methods
-
addFeatures(features)
mapboxgl/overlay/GraphThemeLayer.js, line 67 -
向专题图图层中添加数据,支持的要素类型为:SuperMap iServer 返回的 feature JSON 对象。
Name Type Description features
ServerFeature 待添加的要素。
-
clear()
mapboxgl/overlay/GraphThemeLayer.js, line 401 -
清除的内容包括数据(features) 、专题要素、缓存。
-
clearCache()
mapboxgl/overlay/GraphThemeLayer.js, line 360 -
清除缓存。
-
createThematicFeature(feature)
mapboxgl/overlay/GraphThemeLayer.js, line 134 -
向专题图图层中添加数据,支持的要素类型为:SuperMap iServer 返回的 feature JSON 对象。
Name Type Description feature
Object 待添加的要素。
-
inherited destroyFeatures(features)
mapboxgl/overlay/theme/ThemeLayer.js, line 142 -
销毁要素。
Name Type Description features
Array.<FeatureVector> | FeatureVector 将被销毁的要素。
-
inherited display(display)
mapboxgl/overlay/theme/ThemeLayer.js, line 176 -
隐藏或者显示图层。(通过对 CSS 控制产生即时效果,重新渲染失效。)
Name Type Description display
boolean 可选 是否显示图层。
-
drawCharts()
mapboxgl/overlay/GraphThemeLayer.js, line 155 -
绘制图表。包含压盖处理。
-
inherited getFeatureBy(property, value){FeatureVector}
mapboxgl/overlay/theme/ThemeLayer.js, line 308 -
在专题图的要素中,获取第一个feature[property] === value的矢量要素。
Name Type Description property
string 属性名称。
value
string 属性值。
Returns:
Type Description FeatureVector 矢量要素。 -
inherited getFeatureById(featureId){FeatureVector}
mapboxgl/overlay/theme/ThemeLayer.js, line 326 -
获取指定 featureId 的矢量要素。
Name Type Description featureId
string 矢量要素的属性 ID。
Returns:
Type Description FeatureVector 对应 featureId 的矢量要素,不存在则返回 null。 -
inherited getFeatures(filter){Array.<FeatureVector>}
mapboxgl/overlay/theme/ThemeLayer.js, line 291 -
查看当前图层中的有效数据。
Name Type Description filter
function 可选 根据条件过滤要素的回调函数。
Returns:
Type Description Array.<FeatureVector> 用户加入图层的有效数据。 -
inherited getFeaturesByAttribute(attrName, attrValue){Array.<FeatureVector>}
mapboxgl/overlay/theme/ThemeLayer.js, line 336 -
通过给定一个属性的 key 值和 value 值,获取匹配的要素数组。
Name Type Description attrName
string 属性的 key 值。
attrValue
string 属性的 value 值。
Returns:
Type Description Array.<FeatureVector> 要素数组。 -
inherited getLocalXY(coordinate){Array}
mapboxgl/overlay/theme/ThemeLayer.js, line 412 -
地理坐标转为像素坐标。
Name Type Description coordinate
Object 可选 坐标位置。
Returns:
Type Description Array 长度为 2 的像素坐标数组,第一个元素表示 x 坐标,第二个元素表示 y 坐标。 -
getShapesByFeatureID(featureID)
mapboxgl/overlay/GraphThemeLayer.js, line 262 -
通过要素 ID 获取要素关联的所有图形。如果不传入此参数,函数将返回所有图形。
Name Type Description featureID
number 要素 ID。
-
isChartInMap(mapPxBounds, chartPxBounds)
mapboxgl/overlay/GraphThemeLayer.js, line 340 -
判断图表是否在地图里。
Name Type Description mapPxBounds
Bounds 地图像素范围。
chartPxBounds
Array.<Object> 图表范围的四边形节点数组。
-
isPointInPoly(pt, poly)
mapboxgl/overlay/GraphThemeLayer.js, line 325 -
判断一个点是否在多边形里面(射线法)。
Name Type Description pt
Object 需要判定的点对象,该对象含有属性 x (横坐标),属性 y (纵坐标)。
poly
Array.<Object> 多边形节点数组。
-
isQuadrilateralOverLap(quadrilateral, quadrilateral2)
mapboxgl/overlay/GraphThemeLayer.js, line 282 -
判断两个四边形是否有压盖。
Name Type Description quadrilateral
Array.<Object> 四边形节点数组。
quadrilateral2
Array.<Object> 第二个四边形节点数组。
-
inherited moveTo(layerID, before)
mapboxgl/overlay/theme/ThemeLayer.js, line 586 -
将图层移动到某个图层之前。
Name Type Default Description layerID
string 待插入的图层 ID。
before
boolean true 可选 是否将本图层插入到图层 ID 为 layerID 的图层之前。
-
inherited off(event, callback, context)
mapboxgl/overlay/theme/ThemeLayer.js, line 381 -
移除专题要素事件监听。
Name Type Description event
Event 监听事件。
callback
function 回调函数。
context
string 信息。
-
inherited on(event, callback, context)
mapboxgl/overlay/theme/ThemeLayer.js, line 365 -
添加专题要素事件监听。
Name Type Description event
Event 监听事件。
callback
function 回调函数。
context
string 信息。
-
inherited onAdd()
mapboxgl/overlay/theme/ThemeLayer.js, line 83 -
添加该图层。
-
redraw()
mapboxgl/overlay/GraphThemeLayer.js, line 388 -
重绘该图层。
-
redrawThematicFeatures()
mapboxgl/overlay/GraphThemeLayer.js, line 92 -
重绘所有专题要素。 此方法包含绘制专题要素的所有步骤,包含用户数据到专题要素的转换,抽稀,缓存等步骤。 地图漫游时调用此方法进行图层刷新。
-
inherited refresh()
mapboxgl/overlay/theme/ThemeLayer.js, line 108 -
强制刷新当前热点显示,在图层热点数组发生变化后调用,更新显示。
-
removeAllFeatures()
mapboxgl/overlay/GraphThemeLayer.js, line 379 -
移除所有的要素。
-
removeFeatures(features)
mapboxgl/overlay/GraphThemeLayer.js, line 369 -
从专题图中删除要素。这个函数删除所有传递进来的矢量要素。参数中的要素数组中的每一项,必须是已经添加到当前图层中的 feature。
Name Type Description features
Array.<FeatureVector> | FeatureVector | function 要删除的要素。
-
inherited removeFromMap()
mapboxgl/overlay/theme/ThemeLayer.js, line 577 -
移除图层。
-
setChartsType(chartsType)
mapboxgl/overlay/GraphThemeLayer.js, line 57 -
设置图表类型,此函数可动态改变图表类型。在调用此函数前请通过 chartsSetting 为新类型的图表做相关配置。
Name Type Description chartsType
string 可选 图表类型。目前可用:"Bar", "Line", "Pie"。
-
inherited setOpacity(opacity)
mapboxgl/overlay/theme/ThemeLayer.js, line 185 -
设置图层的不透明度,取值范围:[0-1]。
Name Type Description opacity
number 可选 不透明度,取值[0-1]之间。
-
inherited setVisibility(visibility)
mapboxgl/overlay/theme/ThemeLayer.js, line 163 -
设置图层可见性。
Name Type Description visibility
boolean 可选 是否显示图层(当前地图的 resolution 在最大最小 resolution 之间)。
-
inherited deprecated toFeature(features){FeatureVector}
mapboxgl/overlay/theme/ThemeLayer.js, line 465 -
转为 iClient 要素,该方法将被弃用,由
ThemeLayer#toiClientFeature
代替。Name Type Description features
Array.<ServerFeature> | Array.<ThemeFeature> | Array.<GeoJSONObject> | ServerFeature | ThemeFeature | GeoJSONObject 待转要素。
Returns:
Type Description FeatureVector 转换后的 iClient 要素。 -
inherited toiClientFeature(features){Array.<FeatureVector>}
mapboxgl/overlay/theme/ThemeLayer.js, line 431 -
转为 iClient 要素。
Name Type Description features
Array.<ServerFeature> | Array.<ThemeFeature> | Array.<GeoJSONObject> | ServerFeature | ThemeFeature | GeoJSONObject 待转要素。
Returns:
Type Description Array.<FeatureVector> 转换后的 iClient 要素。