L.supermap.LabelThemeLayer(name, options)
Name | Type | Description |
---|---|---|
name |
string |
图层名 |
options |
Object |
图层参数 |
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 避让的信息 -
获取当前缓存数量。
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 的要素。