Class: Label

Label

标签专题图图层源。

new ol.source.Label(name, opt_options)

openlayers/overlay/Label.js, line 10
Name Type Description
name string

名称

opt_options Object

参数。

Extends

Methods

inherited addFeatures(features)

openlayers/overlay/theme/GeoFeature.js, line 50

添加要素

Name Type Description
features Object

要素对象

inherited addTFEvents()

openlayers/overlay/theme/Theme.js, line 416

将图层添加到地图上之前用户要求添加的事件监听添加到图层。

calculateLabelBounds(feature, loc){Array.<Object>}

openlayers/overlay/Label.js, line 427

获得标签要素的最终范围

Name Type Description
feature SuperMap.Feature.Vector

需要计算bounds的标签要素数。

loc Object

标签位置,例如:{"x":1,"y":1}

Returns:
Type Description
Array.<Object> 四边形节点数组。例如:[{"x":1,"y":1},{"x":3,"y":1},{"x":6,"y":4},{"x":2,"y":10},{"x":1,"y":1}]。

calculateLabelBounds2(feature, loc){Array.<Object>}

openlayers/overlay/Label.js, line 472

获得标签要素的最终范围的另一种算法(通过记录下的标签宽高),提高计算bounds的效率。

Name Type Description
feature SuperMap.Feature.Vector

需要计算bounds的标签要素数。

loc Object

标签位置,例如:{"x":1,"y":1}

Returns:
Type Description
Array.<Object> 四边形节点数组。例如:[{"x":1,"y":1},{"x":3,"y":1},{"x":6,"y":4},{"x":2,"y":10},{"x":1,"y":1}]。

inherited clear()

openlayers/overlay/theme/GeoFeature.js, line 207

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

inherited clearCache()

openlayers/overlay/theme/GeoFeature.js, line 198

清除缓存

createThematicFeature(feature){SuperMap.Feature.Theme.Vector}

openlayers/overlay/Label.js, line 74

创建专题要素

Name Type Description
feature SuperMap.Feature.Vector

矢量要素

Returns:
Type Description
SuperMap.Feature.Theme.Vector 专题图矢量要素

destroy()

openlayers/overlay/Label.js, line 63

释放资源,将引用资源的属性置空。

inherited destroyFeatures(features)

openlayers/overlay/theme/Theme.js, line 126

销毁某个要素

Name Type Description
features Object

将被销毁的要素

inherited fire(type, event)

openlayers/overlay/theme/Theme.js, line 324

添加专题要素事件监听

Name Type Description
type string

事件类型。

event string

事件名称。

getAvoidInfo(bounds, quadrilateral){Object}

openlayers/overlay/Label.js, line 711

获取避让的信息。

Name Type Description
bounds SuperMap.Bounds

地图像素范围。

quadrilateral Array.<Object>

四边形节点数组。例如:[{"x":1,"y":1},{"x":3,"y":1},{"x":6,"y":4},{"x":2,"y":10},{"x":1,"y":1}]。

Returns:
Type Description
Object 避让的信息

inherited getCacheCount(){Number}

openlayers/overlay/theme/GeoFeature.js, line 218

获取当前缓存数量。

Returns:
Type Description
Number 返回当前缓存数量。

getDrawnLabels(labelFeatures){Array.<SuperMap.Feature.Vector>}

openlayers/overlay/Label.js, line 121

获取经(压盖)处理后将要绘制在图层上的标签要素

Name Type Description
labelFeatures Array.<SuperMap.Feature.Vector>

所有标签要素的数组。

Returns:
Type Description
Array.<SuperMap.Feature.Vector> 最终要绘制的标签要素数组。

inherited getFeatureBy(property, value){SuperMap.Feature.Vector}

openlayers/overlay/theme/Theme.js, line 246

在专题图的要素数组 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}

openlayers/overlay/theme/Theme.js, line 266

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

Name Type Description
featureId string

矢量要素的属性 id。

Returns:
Type Description
SuperMap.Feature.Vector 对应id的 feature,如果不存在则返回 null。

inherited getFeatures(){SuperMap.Feature.Vector}

openlayers/overlay/theme/Theme.js, line 231

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

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

inherited getFeaturesByAttribute(attrName, attrValue){Array.<SuperMap.Feature.Vector>}

openlayers/overlay/theme/Theme.js, line 276

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

Name Type Description
attrName string

属性的 key。

attrValue string

矢量要素的属性 id。

Returns:
Type Description
Array.<SuperMap.Feature.Vector> 一个匹配的 feature 数组。

getLabelInfo(){Object}

openlayers/overlay/Label.js, line 554

根据当前位置获取绘制后的标签信息,包括标签的宽,高和行数等

Returns:
Type Description
Object 绘制后的标签信息

getLabelPxLocation(feature){Object}

openlayers/overlay/Label.js, line 402

获取标签要素的像素坐标

Name Type Description
feature SuperMap.Feature.Vector

标签要素。

Returns:
Type Description
Object 标签位置,例如:{"x":1,"y":1}

inherited getLocalXY(coordinate)

openlayers/overlay/theme/Theme.js, line 428

获取坐标系统

Name Type Description
coordinate Object

坐标位置。

getRotatedLocation(x, y, rx, ry, angle){Object}

openlayers/overlay/Label.js, line 684

获取一个点绕旋转中心顺时针旋转后的位置。(此方法用于屏幕坐标)

Name Type Description
x number

旋转点横坐标。

y number

旋转点纵坐标。

rx number

旋转中心点横坐标。

ry number

旋转中心点纵坐标。

angle number

旋转角度

Returns:
Type Description
Object 旋转后的坐标位置对象,该对象含有属性x(横坐标),属性y(纵坐标)。

getStyleByData(feat){Array.<SuperMap.ThemeStyle>}

openlayers/overlay/Label.js, line 276

根据用户数据(feature)设置专题要素的 Style

Name Type Description
feat SuperMap.Feature.Vector

矢量要素对象

Returns:
Type Description
Array.<SuperMap.ThemeStyle> 专题要素的 Style

isPointInPoly(pt, poly){boolean}

openlayers/overlay/Label.js, line 855

判断一个点是否在多边形里面。(射线法)

Name Type Description
pt Object

需要判定的点对象,该对象含有属性x(横坐标),属性y(纵坐标)。

poly Array.<Object>

多边形节点数组。例如一个四边形:[{"x":1,"y":1},{"x":3,"y":1},{"x":6,"y":4},{"x":2,"y":10},{"x":1,"y":1}]

Returns:
Type Description
boolean 点是否在多边形内

isQuadrilateralOverLap(quadrilateral, quadrilateral2){boolean}

openlayers/overlay/Label.js, line 808

判断两个四边形是否有压盖

Name Type Description
quadrilateral Array.<Object>

四边形节点数组。例如:[{"x":1,"y":1},{"x":3,"y":1},{"x":6,"y":4},{"x":2,"y":10},{"x":1,"y":1}]。

quadrilateral2 Array.<Object>

第二个四边形节点数组。

Returns:
Type Description
boolean 是否压盖,true表示压盖

inherited on(event, callback)

openlayers/overlay/theme/Theme.js, line 306

添加专题要素事件监听。支持的事件包括: click、mousedown、mousemove、mouseout、mouseover、mouseup。

Name Type Description
event string

事件名称。

callback function

事件回调函数。

redrawThematicFeatures(bounds)

openlayers/overlay/Label.js, line 100

重绘所有专题要素。 此方法包含绘制专题要素的所有步骤,包含用户数据到专题要素的转换,抽稀,缓存等步骤。 地图漫游时调用此方法进行图层刷新。

Name Type Description
bounds Array.<number>

重绘范围

inherited removeAllFeatures()

openlayers/overlay/theme/GeoFeature.js, line 83

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

inherited removeFeatures(features)

openlayers/overlay/theme/GeoFeature.js, line 73

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

Name Type Description
features Object

要删除的要素对象

inherited rotate(pixelP, rotation, center)

openlayers/overlay/theme/Theme.js, line 456

获取某像素坐标点pixelP绕中心center逆时针旋转rotation弧度后的像素点坐标。

Name Type Description
pixelP number

像素坐标点位置。

rotation number

旋转角度

center number

中心位置。

rotationBounds(bounds, rotationCenterPoi, angle){Array.<Object>}

openlayers/overlay/Label.js, line 652

旋转bounds。

Name Type Description
bounds SuperMap.Bounds

要旋转的bounds。

rotationCenterPoi Object

旋转中心点对象,此对象含有属性x(横坐标),属性y(纵坐标)。

angle number

旋转角度(顺时针)。

Returns:
Type Description
Array.<Object> bounds旋转后形成的多边形节点数组。是一个四边形,形如:[{"x":1,"y":1},{"x":3,"y":1},{"x":6,"y":4},{"x":2,"y":10},{"x":1,"y":1}]

inherited scale(pixelP, center, scaleRatio){Array.<number>}

openlayers/overlay/theme/Theme.js, line 469

获取某像素坐标点pixelP相对于中心center进行缩放scaleRatio倍后的像素点坐标。

Name Type Description
pixelP Object

像素点

center Object

中心点

scaleRatio number

缩放倍数

Returns:
Type Description
Array.<number> 返回数组形比例

setLabelsStyle(labelFeatures){Array.<SuperMap.Feature.Vector>}

openlayers/overlay/Label.js, line 325

设置标签要素的Style

Name Type Description
labelFeatures Array.<SuperMap.Feature.Vector>

需要设置 Style 的标签要素数组。

Returns:
Type Description
Array.<SuperMap.Feature.Vector> 赋予 Style 后的标签要素数组。

inherited setMaxCacheCount(cacheCount)

openlayers/overlay/theme/GeoFeature.js, line 227

设置最大缓存条数

Name Type Description
cacheCount number

缓存总数

inherited setOpacity(opacity)

openlayers/overlay/theme/Theme.js, line 144

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

Name Type Description
opacity number

不透明度

setStyle(feat)

openlayers/overlay/Label.js, line 353

设置标签要素的Style

Name Type Description
feat SuperMap.Feature.Vector

需要赋予 style 的要素。

inherited toiClientFeature(feature){SuperMap.Feature.Vector}

openlayers/overlay/theme/Theme.js, line 483

转为 iClient 要素

Name Type Description
feature

待转要素

Returns:
Type Description
SuperMap.Feature.Vector 转换后的iClient要素

inherited un(event, callback)

openlayers/overlay/theme/Theme.js, line 391

移除专题要素事件监听

Name Type Description
event string

事件名称。

callback function

事件回调函数。