Class: GeoFeatureThemeLayer

mapboxgl.supermap.GeoFeatureThemeLayer

地理几何专题要素型专题图层。

new mapboxgl.supermap.GeoFeatureThemeLayer(name, opt_options)

mapboxgl/overlay/theme/GeoFeatureThemeLayer.js, line 9
Name Type Description
name string

图层名。

opt_options Object

参数。

Name Type Default Description
map mapboxgl.Map

当前 mapboxgl map 对象。

id string 可选

专题图层 ID。默认使用 CommonUtil.createUniqueID("themeLayer_") 创建专题图层 ID。

loadWhileAnimating boolean true 可选

是否实时重绘。

nodesClipPixel number 2 可选

节点抽稀像素距离。

isHoverAble boolean false 可选

图形是否在 hover 时高亮。

isMultiHover boolean false 可选

是否多图形同时高亮,用于高亮同一个数据对应的所有图形(如:多面)。

isClickAble boolean true 可选

图形是否可点击。

isAllowFeatureStyle boolean false 可选

是否允许 feature 样式(style) 中的有效属性应用到专题图层。 禁止对专题要素使用数据(feature)的 style。 此属性可强制将数据 feature 的 style 中有效属性应用到专题要素上,且拥有比图层 style 和 styleGroups 更高的优先级,使专题要素 的样式脱离专题图层的控制。可以通过此方式实现对特殊数据(feature) 对应专题要素赋予独立 style。

opacity number 1 可选

图层透明度。

Fires

Extends

Members

highlightStyleSuperMap.ThemeStyle

专题图图层高亮样式。

idstring

专题图图层 id。

isAllowFeatureStyleboolean

是否允许 feature 样式(style) 中的有效属性应用到专题图层。
禁止对专题要素使用数据(feature)的 style。此属性可强制将数据 feature 的 style 中有效属性应用到专题要素上,且拥有比图层 style 和 styleGroups 更高的优先级,使专题要素 的样式脱离专题图层的控制。可以通过此方式实现对特殊数据(feature) 对应专题要素赋予独立 style。

isClickAbleboolean

图形是否可点击。

Default Value:
true

isHoverAbleboolean

图形是否在 hover 时高亮。

isMultiHoverboolean

是否多图形同时高亮,用于高亮同一个数据对应的所有图形(如:多面)。

loadWhileAnimatingboolean

是否实时重绘。(当绘制大数据量要素的情况下会出现卡顿,建议把该参数设为 false)。

Default Value:
true

map 对象。

namestring

专题图图层名称。

nodesClipPixelnumber

节点抽稀像素距离。

Default Value:
2

opacityfloat

图层透明度。

Default Value:
1

专题图图层全局样式。

visibilityboolean

图层是否可见。

Default Value:
true

Events

beforefeaturesadded

mapboxgl/overlay/theme/GeoFeatureThemeLayer.js, line 95

要素添加之前触发。

Properties:
Name Type Description
features mapboxgl.supermap.ThemeFeature | SuperMap.ServerFeature

被添加的要素。

inherited changelayer

mapboxgl/overlay/theme/ThemeLayer.js, line 193

图层属性改变之后触发。

Properties:
Name Type Description
layer Object

图层。

property string

被改变的属性。

inherited 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/GeoFeatureThemeLayer.js, line 89

添加要素。

Name Type Description
features mapboxgl.supermap.ThemeFeature | SuperMap.ServerFeature

要素对象。

clear()

mapboxgl/overlay/theme/GeoFeatureThemeLayer.js, line 239

清除的内容包括数据(features)、专题要素和缓存。

clearCache()

mapboxgl/overlay/theme/GeoFeatureThemeLayer.js, line 230

清除缓存。

createThematicFeature(feature)

mapboxgl/overlay/theme/GeoFeatureThemeLayer.js, line 204

创建专题要素。

Name Type Description
feature SuperMap.Feature.Vector

要素对象。

inherited destroyFeatures(features)

mapboxgl/overlay/theme/ThemeLayer.js, line 140

销毁某个要素。

Name Type Description
features SuperMap.Feature.Vector

将被销毁的要素。

inherited display(display)

mapboxgl/overlay/theme/ThemeLayer.js, line 171

临时隐藏或者显示图层。通过对 CSS 控制产生即时效果,重新渲染失效。一般用 setVisibility 方法来动态控制图层的显示和隐藏。

Name Type Description
display boolean 可选

是否显示图层。

getCacheCount(){number}

mapboxgl/overlay/theme/GeoFeatureThemeLayer.js, line 250

获取当前缓存数量。

Returns:
Type Description
number 当前缓存数量。

inherited 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 第一个匹配属性和值的矢量要素。

inherited 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。

inherited getFeatures(){SuperMap.Feature.Vector}

mapboxgl/overlay/theme/ThemeLayer.js, line 277

查看当前图层中的有效数据。

Returns:
Type Description
SuperMap.Feature.Vector 用户加入图层的有效数据。

inherited 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 数组。

inherited getLocalXY(coordinate)

mapboxgl/overlay/theme/ThemeLayer.js, line 396

地理坐标转为像素坐标。

Name Type Description
coordinate Object 可选

坐标位置。

inherited 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 的图层之后)。

inherited off(event, callback, context)

mapboxgl/overlay/theme/ThemeLayer.js, line 365

移除专题要素事件监听。

Name Type Description
event Event

监听事件。

callback function

回调函数。

context string

信息。

inherited on(event, callback, context)

mapboxgl/overlay/theme/ThemeLayer.js, line 349

添加专题要素事件监听。添加专题要素事件监听。

Name Type Description
event Event

监听事件。

callback function

回调函数。

context string

信息。

inherited onAdd()

mapboxgl/overlay/theme/ThemeLayer.js, line 81

向底图添加该图层。

redrawThematicFeatures(extent)

mapboxgl/overlay/theme/GeoFeatureThemeLayer.js, line 132

重绘所有专题要素。

Name Type Description
extent mapboxgl.LngLatBounds

重绘的范围。

removeAllFeatures()

mapboxgl/overlay/theme/GeoFeatureThemeLayer.js, line 123

清除当前图层所有的矢量要素。

removeFeatures(features)

mapboxgl/overlay/theme/GeoFeatureThemeLayer.js, line 113

从专题图中删除 feature。这个函数删除所有传递进来的矢量要素。

Name Type Description
features SuperMap.Feature.Vector

要删除的要素对象。

inherited removeFromMap()

mapboxgl/overlay/theme/ThemeLayer.js, line 560

移除图层。

setMaxCacheCount(featureID)

mapboxgl/overlay/theme/GeoFeatureThemeLayer.js, line 271

通过 FeatureID 获取 feature 关联的所有图形。如果不传入此参数,函数将返回所有图形。

Name Type Default Description
featureID number si.refDataID 可选

要素 ID。

setMaxCacheCount(cacheCount)

mapboxgl/overlay/theme/GeoFeatureThemeLayer.js, line 259

设置最大缓存条数。

Name Type Description
cacheCount number 可选

缓存总数。

inherited setOpacity(opacity)

mapboxgl/overlay/theme/ThemeLayer.js, line 180

设置图层的不透明度,取值[0-1]之间。

Name Type Description
opacity number 可选

不透明度。

inherited setVisibility(visibility)

mapboxgl/overlay/theme/ThemeLayer.js, line 158

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

Name Type Description
visibility boolean 可选

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

inherited 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 要素。