new mapboxgl.supermap.ThemeLayer(name, options)
Name | Type | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name |
string |
专题图图层名。 |
||||||||||||||||||||||||
options |
Object |
可选参数。
|
Fires
Members
-
idstring
-
专题图图层 id。
-
loadWhileAnimatingboolean
-
是否实时重绘。(当绘制大数据量要素的情况下会出现卡顿,建议把该参数设为 false)。
- Default Value: true
mapmapboxgl.Map
map 对象。
namestring
专题图图层名称。
opacityfloat
图层透明度。
- Default Value: 1
visibilityboolean
图层是否可见。
- Default Value: true
Events
-
changelayer
mapboxgl/overlay/theme/ThemeLayer.js, line 193 -
图层属性改变之后触发。
Properties:
Name Type Description layer
Object 图层。
property
string 被改变的属性。
-
featuresremoved
mapboxgl/overlay/theme/ThemeLayer.js, line 256 -
要素删除之后触发。
Properties:
Name Type Description features
Array.<SuperMap.Feature.Vector> 未被成功删除的要素。
succeed
boolean 删除成功与否。
Methods
-
addFeatures(features)
mapboxgl/overlay/theme/ThemeLayer.js, line 204 -
抽象方法,可实例化子类必须实现此方法。向专题图图层中添加数据 ,
Name Type Description features
mapboxgl.supermap.ThemeFeature | SuperMap.ServerFeature | GeoJSONObject 待添加要素。
-
destroyFeatures(features)
mapboxgl/overlay/theme/ThemeLayer.js, line 140 -
销毁某个要素。
Name Type Description features
SuperMap.Feature.Vector 将被销毁的要素。
-
display(display)
mapboxgl/overlay/theme/ThemeLayer.js, line 171 -
临时隐藏或者显示图层。通过对 CSS 控制产生即时效果,重新渲染失效。一般用 setVisibility 方法来动态控制图层的显示和隐藏。
Name Type Description display
boolean 可选 是否显示图层。
-
getFeatureBy(property, value){SuperMap.Feature.Vector}
mapboxgl/overlay/theme/ThemeLayer.js, line 291 -
在专题图的要素数组 features 里面遍历每一个 feature,当 feature[property] === value 时, 返回此 feature(并且只返回第一个)。
Name Type Description property
string feature 的某个属性名称。
value
string property 所对应的值。
Returns:
Type Description SuperMap.Feature.Vector 第一个匹配属性和值的矢量要素。 -
getFeatureById(featureId){SuperMap.Feature.Vector}
mapboxgl/overlay/theme/ThemeLayer.js, line 310 -
通过给定一个 id,返回对应的矢量要素。
Name Type Description featureId
string 矢量要素的属性 id。
Returns:
Type Description SuperMap.Feature.Vector 对应 id 的 feature,如果不存在则返回 null。 -
getFeatures(){SuperMap.Feature.Vector}
mapboxgl/overlay/theme/ThemeLayer.js, line 277 -
查看当前图层中的有效数据。
Returns:
Type Description SuperMap.Feature.Vector 用户加入图层的有效数据。 -
getFeaturesByAttribute(attrName, attrValue){Array.<SuperMap.Feature.Vector>}
mapboxgl/overlay/theme/ThemeLayer.js, line 320 -
通过给定一个属性的 key 值和 value 值,返回所有匹配的要素数组。
Name Type Description attrName
string 属性的 key。
attrValue
string 矢量要素的属性 id。
Returns:
Type Description Array.<SuperMap.Feature.Vector> 一个匹配的 feature 数组。 -
getLocalXY(coordinate)
mapboxgl/overlay/theme/ThemeLayer.js, line 396 -
地理坐标转为像素坐标。
Name Type Description coordinate
Object 可选 坐标位置。
-
moveTo(layerID, before)
mapboxgl/overlay/theme/ThemeLayer.js, line 569 -
将图层移动到某个图层之前。
Name Type Default Description layerID
string 待插入的图层 ID。
before
boolean true 可选 是否将本图层插入到图层 id 为 layerID 的图层之前(如果为 false 则将本图层插入到图层 id 为 layerID 的图层之后)。
-
off(event, callback, context)
mapboxgl/overlay/theme/ThemeLayer.js, line 365 -
移除专题要素事件监听。
Name Type Description event
Event 监听事件。
callback
function 回调函数。
context
string 信息。
-
on(event, callback, context)
mapboxgl/overlay/theme/ThemeLayer.js, line 349 -
添加专题要素事件监听。添加专题要素事件监听。
Name Type Description event
Event 监听事件。
callback
function 回调函数。
context
string 信息。
-
onAdd()
mapboxgl/overlay/theme/ThemeLayer.js, line 81 -
向底图添加该图层。
-
redrawThematicFeatures(extent)
mapboxgl/overlay/theme/ThemeLayer.js, line 341 -
抽象方法,可实例化子类必须实现此方法。重绘专题要素。
Name Type Description extent
mapboxgl.LngLatBounds 重绘的范围。
-
removeAllFeatures()
mapboxgl/overlay/theme/ThemeLayer.js, line 265 -
清除当前图层所有的矢量要素。
-
removeFeatures(features)
mapboxgl/overlay/theme/ThemeLayer.js, line 213 -
从专题图中删除 feature。这个函数删除所有传递进来的矢量要素。 参数中的 features 数组中的每一项,必须是已经添加到当前图层中的 feature, 如果无法确定 feature 数组,则可以调用 removeAllFeatures 来删除所有 feature。 如果要删除的 feature 数组中的元素特别多,推荐使用 removeAllFeatures, 删除所有 feature 后再重新添加。这样效率会更高。
Name Type Description features
Array.<SuperMap.Feature.Vector> 要删除 feature 的数组。
-
removeFromMap()
mapboxgl/overlay/theme/ThemeLayer.js, line 560 -
移除图层。
-
setOpacity(opacity)
mapboxgl/overlay/theme/ThemeLayer.js, line 180 -
设置图层的不透明度,取值[0-1]之间。
Name Type Description opacity
number 可选 不透明度。
-
setVisibility(visibility)
mapboxgl/overlay/theme/ThemeLayer.js, line 158 -
设置图层可见性,设置图层的隐藏,显示,重绘的相应的可见标记。
Name Type Description visibility
boolean 可选 是否显示图层(当前地图的 resolution 在最大最小 resolution 之间)。
-
toFeature(features){SuperMap.Feature.Vector}
mapboxgl/overlay/theme/ThemeLayer.js, line 414 -
转为 iClient 要素。
Name Type Description features
mapboxgl.supermap.ThemeFeature | GeoJSONObject 待转要素。
Returns:
Type Description SuperMap.Feature.Vector 转换后的 iClient 要素。 -
toFeature(features){SuperMap.Feature.Vector}
mapboxgl/overlay/theme/ThemeLayer.js, line 448 -
转为 iClient 要素,该方法将被弃用,由
mapboxgl.supermap.ThemeLayer#toiClientFeature
代替。Name Type Description features
mapboxgl.supermap.ThemeFeature | GeoJSONObject 待转要素。
- Deprecated
- Yes
Returns:
Type Description SuperMap.Feature.Vector 转换后的 iClient 要素。