GeoFeatureThemeLayer Class

GeoFeatureThemeLayer(name, options)

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

Fx构造函数

# new GeoFeatureThemeLayer(name, options)

参数:
名称 类型 属性 默认值 描述
name string

图层名。

options Object

参数。

map mapboxgl.Map

当前 mapboxgl map 对象。

id string <optional>

专题图层 ID。

loadWhileAnimating boolean <optional>
true

是否实时重绘。

nodesClipPixel number <optional>
2

节点抽稀像素距离。

isHoverAble boolean <optional>
false

图形是否在 hover 时高亮。

isMultiHover boolean <optional>
false

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

isClickAble boolean <optional>
true

图形是否可点击。

isAllowFeatureStyle boolean <optional>
false

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

opacity number <optional>
1

图层透明度。

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 11

  • Zondy.Map.GeoFeatureThemeLayer#event:beforefeaturesadded

继承关系

成员变量

Zondy.ThemeStyle

# highlightStyle

专题图图层高亮样式。

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 42

string

# id Optional

专题图图层 id。

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 31

boolean

# isAllowFeatureStyle Optional

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

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 70

boolean

# isClickAble Optional

图形是否可点击。

Default Value:
  • true

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 64

boolean

# isHoverAble Optional

图形是否在 hover 时高亮。

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 54

boolean

# isMultiHover Optional

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

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 59

boolean

# loadWhileAnimating Optional

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

Inherited From:
Default Value:
  • true

查看源代码 mapboxgl/theme/ThemeLayer.js, line 48

mapboxgl.Map

# map

map 对象。

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 54

string

# name

专题图图层名称。

Overrides:

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 31

number

# nodesClipPixel Optional

节点抽稀像素距离。

Default Value:
  • 2

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 48

float

# opacity Optional

图层透明度。

Inherited From:
Default Value:
  • 1

查看源代码 mapboxgl/theme/ThemeLayer.js, line 36

Zondy.ThemeStyle

# style

专题图图层全局样式。

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 36

boolean

# visibility Optional

图层是否可见。

Inherited From:
Default Value:
  • true

查看源代码 mapboxgl/theme/ThemeLayer.js, line 42

方法

# addFeatures(features)

抽象方法,可实例化子类必须实现此方法。向专题图图层中添加数据 ,

参数:
名称 类型 描述
features Object

待添加要素。

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 194

# clear()

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

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 247

# createThematicFeature(feature)

创建专题要素。

参数:
名称 类型 描述
feature Zondy.Feature.Vector

要素对象。

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 215

# destroyFeatures(features)

销毁某个要素。

参数:
名称 类型 描述
features Zondy.Feature.Vector

将被销毁的要素。

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 128

# display(displayopt)

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

参数:
名称 类型 属性 描述
display boolean <optional>

是否显示图层。

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 159

# getCacheCount() → {number}

获取当前缓存数量。

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 258

当前缓存数量。

number

# getFeatureBy(property, value) → {Zondy.Feature.Vector}

在专题图的要素数组 features 里面遍历每一个 feature,当 feature[property] === value 时, 返回此 feature(并且只返回第一个)。

参数:
名称 类型 描述
property string

feature 的某个属性名称。

value string

property 所对应的值。

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 287

第一个匹配属性和值的矢量要素。

Zondy.Feature.Vector

# getFeatureById(featureId) → {Zondy.Feature.Vector}

通过给定一个 id,返回对应的矢量要素。

参数:
名称 类型 描述
featureId string

矢量要素的属性 id。

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 306

对应 id 的 feature,如果不存在则返回 null。

Zondy.Feature.Vector

# getFeatures() → {Zondy.Feature.Vector}

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

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 273

用户加入图层的有效数据。

Zondy.Feature.Vector

# getFeaturesByAttribute(attrName, attrValue) → {Array.<Zondy.Feature.Vector>}

通过给定一个属性的 key 值和 value 值,返回所有匹配的要素数组。

参数:
名称 类型 描述
attrName string

属性的 key。

attrValue string

矢量要素的属性 id。

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 316

一个匹配的 feature 数组。

Array.<Zondy.Feature.Vector>

# getLocalXY(coordinateopt)

地理坐标转为像素坐标。

参数:
名称 类型 属性 描述
coordinate Object <optional>

坐标位置。

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 411

# moveTo(layerID, beforeopt)

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

参数:
名称 类型 属性 默认值 描述
layerID string

待插入的图层 ID。

before boolean <optional>
true

是否将本图层插入到图层 id 为 layerID 的图层之前(如果为 false 则将本图层插入到图层 id 为 layerID 的图层之后)。

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 541

# off(event, callback, context)

移除专题要素事件监听。

参数:
名称 类型 描述
event Event

监听事件。

callback function

回调函数。

context string

信息。

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 363

# on(event, callback, context)

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

参数:
名称 类型 描述
event Event

监听事件。

callback function

回调函数。

context string

信息。

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 346

# onAdd()

向底图添加该图层。

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 69

# redrawThematicFeatures(extent)

重绘所有专题要素。

参数:
名称 类型 描述
extent mapboxgl.LngLatBounds

重绘的范围。

Overrides:

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 143

# refresh()

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

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 94

# removeAllFeatures()

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

Overrides:

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 134

# removeFeatures(features)

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

参数:
名称 类型 描述
features Zondy.Feature.Vector

要删除的要素对象。

Overrides:

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 123

# setMaxCacheCount(cacheCountopt)

设置最大缓存条数。

参数:
名称 类型 属性 描述
cacheCount number <optional>

缓存总数。

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 267

# setMaxCacheCount(featureIDopt)

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

参数:
名称 类型 属性 默认值 描述
featureID number <optional>
si.refDataID

要素 ID。

查看源代码 mapboxgl/theme/GeoFeatureThemeLayer.js, line 279

# setOpacity(opacityopt)

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

参数:
名称 类型 属性 描述
opacity number <optional>

不透明度。

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 168

# setVisibility(visibilityopt)

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

参数:
名称 类型 属性 描述
visibility boolean <optional>

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

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 146

事件

# changelayer

图层属性改变之后触发。

属性:
Name Type Description
layer Object

图层。

property string

被改变的属性。

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 180

# featuresremoved

要素删除之后触发。

属性:
Name Type Description
features Array.<Zondy.Feature.Vector>

未被成功删除的要素。

succeed boolean

删除成功与否。

Inherited From:

查看源代码 mapboxgl/theme/ThemeLayer.js, line 246