Class: LabelThemeLayer

LabelThemeLayer

标签专题图。

L.supermap.LabelThemeLayer(name, options)

leaflet/overlay/LabelThemeLayer.js, line 8
Name Type Description
name string

图层名

options Object

图层参数
isOverLay -{boolean} 是否进行压盖处理,默认true
isAvoid -{boolean} 是否进行地图边缘的避让处理,默认true

Extends

Methods

inherited addFeatures(features)

leaflet/overlay/theme/GeoFeatureThemeLayer.js, line 58

向专题图图层中添加数据, 支持的feature类型为:iServer返回的feature json对象 或L.supermap.themeFeature类型

Name Type Description
features JSONObject | L.supermap.themeFeature

待填加的要素

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

leaflet/overlay/LabelThemeLayer.js, line 424

获得标签要素的最终范围

Name Type Description
feature SuperMap.Feature.Vector

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

loc L.point

标签位置

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>}

leaflet/overlay/LabelThemeLayer.js, line 469

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

Name Type Description
feature SuperMap.Feature.Vector

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

loc L.point

标签位置

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()

leaflet/overlay/theme/GeoFeatureThemeLayer.js, line 231

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

inherited clearCache()

leaflet/overlay/theme/GeoFeatureThemeLayer.js, line 222

清除缓存数据。

inherited createThematicFeature(feature)

leaflet/overlay/theme/GeoFeatureThemeLayer.js, line 182

创建专题要素

Name Type Description
feature L.feature

要创建得要素

getAvoidInfo(bounds, quadrilateral){Object}

leaflet/overlay/LabelThemeLayer.js, line 708

获取避让的信息。

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}

leaflet/overlay/theme/GeoFeatureThemeLayer.js, line 243

获取当前缓存数量。

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

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

leaflet/overlay/LabelThemeLayer.js, line 111

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

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

所有标签要素的数组。

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

getLabelInfo(){Object}

leaflet/overlay/LabelThemeLayer.js, line 551

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

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

getLabelPxLocation(feature){L.point}

leaflet/overlay/LabelThemeLayer.js, line 397

获取标签要素的像素坐标

Name Type Description
feature SuperMap.Feature.Vector

标签要素。

Returns:
Type Description
L.point 标签位置

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

leaflet/overlay/LabelThemeLayer.js, line 681

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

Name Type Description
x number

旋转点横坐标。

y number

旋转点纵坐标。

rx number

旋转中心点横坐标。

ry number

旋转中心点纵坐标。

angle number

旋转角度

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

inherited getShapesByFeatureID(featureID)

leaflet/overlay/theme/GeoFeatureThemeLayer.js, line 265

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

Name Type Description
featureID number

要素ID。

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

leaflet/overlay/LabelThemeLayer.js, line 270

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

Name Type Description
feat SuperMap.Feature.Vector

矢量要素对象

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

isPointInPoly(pt, poly){boolean}

leaflet/overlay/LabelThemeLayer.js, line 852

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

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}

leaflet/overlay/LabelThemeLayer.js, line 805

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

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 redraw()

leaflet/overlay/theme/GeoFeatureThemeLayer.js, line 213

重绘该图层

redrawThematicFeatures(bounds)

leaflet/overlay/LabelThemeLayer.js, line 90

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

Name Type Description
bounds L.bounds

重绘范围

inherited removeAllFeatures()

leaflet/overlay/theme/GeoFeatureThemeLayer.js, line 102

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

inherited removeFeatures(features)

leaflet/overlay/theme/GeoFeatureThemeLayer.js, line 92

从专题图中删除 feature。这个函数删除所有传递进来的矢量要素。参数中的 features 数组中的每一项,必须是已经添加到当前图层中的 feature,

Name Type Description
features L.features

要删除得要素

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

leaflet/overlay/LabelThemeLayer.js, line 649

旋转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}]

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

leaflet/overlay/LabelThemeLayer.js, line 319

设置标签要素的Style

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

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

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

inherited setMaxCacheCount(cacheCount)

leaflet/overlay/theme/GeoFeatureThemeLayer.js, line 252

设置最大缓存数量。

Name Type Description
cacheCount number

最大缓存量。

setStyle(feat)

leaflet/overlay/LabelThemeLayer.js, line 347

设置标签要素的Style

Name Type Description
feat SuperMap.Feature.Vector

需要赋予 style 的要素。