SuperMap.Layer.Theme

客户端专题图图层基类。

此基类已实现专题图数据管理,初始化渲染器 (renderer), 事件管理。

专题要素的制作及绘制由其子类完成,所以此类不可实例化。

Inherits from

Summary
SuperMap.Layer.Theme 客户端专题图图层基类。
Properties
currentMousePosition {SuperMap.Pixel} 鼠标在图层中的像素位置。
features {Array(SuperMap.Feature.Vector)} 用户数据,矢量要素。
isBaseLayer {Boolean} 该图层是否是基础图层,默认值为 false。可以在构造函数中是通过 options 设置。
Constructor
SuperMap.Layer.Theme 构造函数。
Functions
addFeatures 抽象方法,可实例化子类必须实现此方法。
destroy 销毁图层,释放资源。
getFeatureBy 在专题图的要素数组 features 里面遍历每一个 feature,当 feature[property] === value 时, 返回此 feature(并且只返回第一个)。
getFeatureById 通过给定一个 id,返回对应的矢量要素。
getFeaturesByAttribute 通过给定一个属性的 key 值和 value 值,返回所有匹配的要素数组。
on 添加专题要素事件监听。
redraw 重绘该图层,成功则返回true,否则返回 false。
removeAllFeatures 清除当前图层所有的矢量要素。
removeFeatures 从专题图中删除 feature。这个函数删除所有传递进来的矢量要素。 参数中的 features 数组中的每一项,必须是已经添加到当前图层中的 feature, 如果无法确定 feature 数组,则可以调用 removeAllFeatures 来删除所有feature。 如果要删除的 feature 数组中的元素特别多,推荐使用 removeAllFeatures, 删除所有feature后再重新添加。这样效率会更高。
setOpacity 设置图层的不透明度,取值[0-1]之间。
SuperMap.Layer.Theme.addHoverShape 向专题图层添加额外的高亮显示图形,仅提供添加方法,伴随专题要素(图形)高亮消失自动清除此高亮显示图形。
un 移除专题要素事件监听 。

Properties

isBaseLayer

{Boolean} 该图层是否是基础图层,默认值为 false。可以在构造函数中是通过 options 设置。

features

{Array(SuperMap.Feature.Vector)} 用户数据,矢量要素。

currentMousePosition

{SuperMap.Pixel} 鼠标在图层中的像素位置。

Constructor

SuperMap.Layer.Theme

构造函数。

Parameters

name {String} 此图层的图层名。
options {Object} 此类与父类提供的属性。

Returns

{SuperMap.Layer.Theme} 专题图。

Functions

destroy

destroy: function()

销毁图层,释放资源。

addFeatures

addFeatures: function( features )

抽象方法,可实例化子类必须实现此方法。

向专题图图层中添加数据 , 专题图仅接收 SuperMap.Feature.Vector 类型数据, feature 将储存于 features 属性中,其存储形式为数组。

Parameters

features {Array(SuperMap.Feature.Vector)} 需要添加的数据。

removeFeatures

removeFeatures: function( features )

从专题图中删除 feature。这个函数删除所有传递进来的矢量要素。 参数中的 features 数组中的每一项,必须是已经添加到当前图层中的 feature, 如果无法确定 feature 数组,则可以调用 removeAllFeatures 来删除所有feature。 如果要删除的 feature 数组中的元素特别多,推荐使用 removeAllFeatures, 删除所有feature后再重新添加。这样效率会更高。

Parameters

features {Array(SuperMap.Feature.Vector)} 要删除feature的数组。

removeAllFeatures

removeAllFeatures: function()

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

getFeatureBy

getFeatureBy: function( property,
value )

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

Parameters

property {String} feature 的某个属性名称。
value {String} property 所对应的值。

Returns

{SuperMap.Feature.Vector} 第一个匹配属性和值的矢量要素。

getFeatureById

getFeatureById: function( featureId )

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

Parameters

featureId {String} 矢量要素的属性 id。

Returns

{SuperMap.Feature.Vector} 对应id的 feature,如果不存在则返回 null。

getFeaturesByAttribute

getFeaturesByAttribute: function( attrName,
attrValue )

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

Parameters

attrName {String} 属性的 key。
attrValue {Mixed} 属性对应的 value 值。

Returns

Array(SuperMap.Feature.Vector) 一个匹配的 feature 数组。

setOpacity

setOpacity: function( opacity )

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

Parameter

opacity {Float} 图层的不透明度,取值范围:[0-1]。

redraw

redraw: function()

重绘该图层,成功则返回true,否则返回 false。

Returns

{Boolean} 重绘该图层是否成功。

on

on: function( event,
callback )

添加专题要素事件监听。

支持的事件包括: click、mousedown、mousemove、mouseout、mouseover、mouseup。

Parameters

event {String} 事件名称。
callback {Function} 事件回调函数。

un

un: function( event,
callback )

移除专题要素事件监听 。

Parameters

event {String} 事件名称。
callback {Function} 事件回调函数。

SuperMap.Layer.Theme.addHoverShape

SuperMap.Layer.Theme.addHoverShape = function( layer,
shapeParameters )

向专题图层添加额外的高亮显示图形,仅提供添加方法,伴随专题要素(图形)高亮消失自动清除此高亮显示图形。

Parameters

layer {SuperMap.Layer.Theme} 添加高亮显示文本的目标专题图层, SuperMap.Layer.Theme 子类对象,必设参数。
shapeParameters {SuperMap.Feature.ShapeParameters} 图形参数对象,决定高亮显示图形, SuperMap.Feature.ShapeParameters 子类对象,必设参数。 注意:通过本方法添加的图形是高亮图形,所以在指定图形样式时应使用 shapeParameters.highlightStyle,不是 shapeParameters.style。
矢量要素类。该类具有 Geometry 属性存放几何信息, attributes 属性存放非几何信息,另外还包含了 style 属性,用来定义矢量要素的样式, 其中,默认的样式在 SuperMap.Feature.Vector.style 类中定义,如果没有特别的指定将使用默认的样式,
此类用x,y坐标描绘屏幕坐标(像素点)。
destroy: function()
销毁图层,释放资源。
addFeatures: function( features )
抽象方法,可实例化子类必须实现此方法。
removeFeatures: function( features )
从专题图中删除 feature。这个函数删除所有传递进来的矢量要素。 参数中的 features 数组中的每一项,必须是已经添加到当前图层中的 feature, 如果无法确定 feature 数组,则可以调用 removeAllFeatures 来删除所有feature。 如果要删除的 feature 数组中的元素特别多,推荐使用 removeAllFeatures, 删除所有feature后再重新添加。这样效率会更高。
removeAllFeatures: function()
清除当前图层所有的矢量要素。
getFeatureBy: function( property,
value )
在专题图的要素数组 features 里面遍历每一个 feature,当 feature[property] === value 时, 返回此 feature(并且只返回第一个)。
getFeatureById: function( featureId )
通过给定一个 id,返回对应的矢量要素。
getFeaturesByAttribute: function( attrName,
attrValue )
通过给定一个属性的 key 值和 value 值,返回所有匹配的要素数组。
setOpacity: function( opacity )
设置图层的不透明度,取值[0-1]之间。
redraw: function()
重绘该图层,成功则返回true,否则返回 false。
on: function( event,
callback )
添加专题要素事件监听。
un: function( event,
callback )
移除专题要素事件监听 。
SuperMap.Layer.Theme.addHoverShape = function( layer,
shapeParameters )
向专题图层添加额外的高亮显示图形,仅提供添加方法,伴随专题要素(图形)高亮消失自动清除此高亮显示图形。
图层类。
构造函数。
图形参数基类,此类不可实例化
Close