Class: RangeThemeLayer

RangeThemeLayer

分段专题图图层类。分段专题图是指按照某种分段方式被分成多个范围段,要素根据各自的专题值被分配到其中一个范围段中, 在同一个范围段中的要素使用相同的颜色,填充,符号等风格进行显示。 分段专题图所基于的专题变量必须为数值型, 分段专题图一般用来反映连续分布现象的数量或程度特征,如降水量的分布,土壤侵蚀强度的分布等。

new RangeThemeLayer(name, options)

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

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

new RangeThemeLayer(name, options);

mapboxgl/overlay/RangeThemeLayer.js, line 10
Name Type Description
name string

图层名。

options Object

参数。

Name Type Default Description
id string 可选

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

loadWhileAnimating boolean true 可选

是否实时重绘。

map mapboxgl.Map

MapBoxGL Map 对象。

opacity number 1 可选

图层不透明度。

themeField string

指定创建专题图字段。

style Object

专题图样式。

styleGroups Object

各专题类型样式组。

isHoverAble boolean false 可选

是否开启 hover 事件。

highlightStyle Object 可选

hover 的高亮样式。

Extends

Members

highlightStyleThemeStyle

专题图图层高亮样式。

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

MapBoxGL Map 对象。

namestring

专题图图层名称。

nodesClipPixelnumber

节点抽稀像素距离。

Default Value:
2

opacitynumber

图层不透明度。

Default Value:
1

styleThemeStyle

专题图图层全局样式。

visibilityboolean

图层是否可见。

Default Value:
true

Events

inherited beforefeaturesadded

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

要素添加之前触发。

Properties:
Name Type Description
features ThemeFeature | 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

inherited addFeatures(features)

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

添加要素。

Name Type Description
features ThemeFeature | ServerFeature

要素对象。

inherited clear()

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

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

inherited clearCache()

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

清除缓存。

createThematicFeature(feature)

mapboxgl/overlay/RangeThemeLayer.js, line 42

创建专题图要素。

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

是否显示图层。

inherited getCacheCount(){number}

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

获取当前缓存数量。

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

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 坐标。

inherited getShapesByFeatureID(featureID){Array}

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

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

Name Type Default Description
featureID number si.refDataID 可选

要素 ID。

Returns:
Type Description
Array 返回图形数组。

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

添加该图层。

inherited redrawThematicFeatures(extent)

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

重绘所有专题要素。

Name Type Description
extent mapboxgl.LngLatBounds

重绘的范围。

inherited refresh()

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

强制刷新当前热点显示,在图层热点数组发生变化后调用,更新显示。

inherited removeAllFeatures()

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

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

inherited removeFeatures(features)

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

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

Name Type Description
features FeatureVector | function

要删除的要素对象或用于过滤的回调函数。

inherited removeFromMap()

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

移除图层。

inherited setMaxCacheCount(cacheCount)

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

设置最大缓存条数。

Name Type Description
cacheCount number 可选

缓存总数。

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