L.supermap.GraphThemeLayer(name, chartsType, options)
统计专题图通过为每个要素绘制统计图表来反映其对应的专题值的大小。它可同时表示多个字段属性信息,在区域本身与各区域之间形成横向和纵向的对比。
统计专题图多用于具有相关数量特征的地图上,比如表示不同地区多年的粮食产量、GDP、人口等,不同时段客运量、地铁流量等。
目前提供的统计图类型有:柱状图(Bar),折线图(Line),饼图(Pie),三维柱状图(Bar3D),点状图(Point),环状图(Ring)。
Name | Type | Description |
---|---|---|
name |
string |
专题图表名称 |
chartsType |
string |
图表类型。目前可用:"Bar", "Bar3D", "Line","Point","Pie","Ring"。 |
options |
Object |
待设置得参数。如:
|
Extends
Methods
-
addFeatures(features)
leaflet/overlay/GraphThemeLayer.js, line 71 -
向专题图图层中添加数据, 支持的feature类型为:iServer返回的feature json对象 或L.supermap.themeFeature类型
Name Type Description features
L.features 待添加得要素
-
inherited addTFEvents()
leaflet/overlay/theme/ThemeLayer.js, line 365 -
将图层添加到地图上之前用户要求添加的事件监听添加到图层。
-
clear()
leaflet/overlay/GraphThemeLayer.js, line 342 -
清除图层。清除的内容包括数据(features) 、专题要素、缓存。
-
clearCache()
leaflet/overlay/GraphThemeLayer.js, line 302 -
清除缓存数据。
-
createThematicFeature(feature)
leaflet/overlay/GraphThemeLayer.js, line 146 -
创建专题要素(图表)
Name Type Description feature
L.features 待创建得要素
-
inherited destroyFeatures(features)
leaflet/overlay/theme/ThemeLayer.js, line 122 -
销毁某个要素
Name Type Description features
SuperMap.Feature.Vector 将被销毁的要素
-
drawCharts()
leaflet/overlay/GraphThemeLayer.js, line 168 -
绘制图表。包含压盖处理。
-
inherited getEvents(){Object}
leaflet/overlay/theme/ThemeLayer.js, line 37 -
获取图层事件
Returns:
Type Description Object 返回图层支持的事件 -
inherited getFeatureBy(property, value)
leaflet/overlay/theme/ThemeLayer.js, line 221 -
在专题图的要素数组 features 里面遍历每一个 feature,当 feature[property] === value 时,返回此 feature(并且只返回第一个)。
Name Type Description property
string 要素得某个属性名
value
string 对应属性名得值
-
inherited getFeatureById(featureId)
leaflet/overlay/theme/ThemeLayer.js, line 240 -
通过给定一个 id,返回对应的矢量要素,如果不存在则返回 null
Name Type Description featureId
number 要素id
-
inherited getFeatures(){Array}
leaflet/overlay/theme/ThemeLayer.js, line 206 -
查看当前图层中的有效数据。
Returns:
Type Description Array 返回图层中的有效数据。 -
inherited getFeaturesByAttribute(attrName, attrValue){Array}
leaflet/overlay/theme/ThemeLayer.js, line 249 -
通过给定一个属性的 key 值和 value 值,返回所有匹配的要素数组。
Name Type Description attrName
string key 值
attrValue
string value 值
Returns:
Type Description Array 返回所有匹配的要素数组。 -
inherited getLocalXY(coordinate)
leaflet/overlay/theme/ThemeLayer.js, line 379 -
地理坐标转为像素坐标
Name Type Description coordinate
array -
-
getShapesByFeatureID(featureID)
leaflet/overlay/GraphThemeLayer.js, line 194 -
通过 FeatureID 获取 feature 关联的所有图形。如果不传入此参数,函数将返回所有图形。
Name Type Description featureID
number 要素ID
-
getWeightFieldValue(feature, fields, defaultValue)
leaflet/overlay/GraphThemeLayer.js, line 356 -
获取权重字段的值。
Name Type Description feature
SuperMap.Feature.Vector 矢量要素。
fields
Array.<string> 字段名数组。
defaultValue
number 当通过 weightField 获取不到权重值时,使用 defaultValue 作为权重值。
-
isChartInMap(mapPxBounds, chartPxBounds)
leaflet/overlay/GraphThemeLayer.js, line 279 -
判断图表是否在地图里。
Name Type Description mapPxBounds
SuperMap.Bounds 地图像素范围。
chartPxBounds
Array.<Object> 图表范围的四边形节点数组。
例如:[{"x":1,"y":1},{"x":3,"y":1},{"x":6,"y":4},{"x":2,"y":10},{"x":1,"y":1}]。 -
isPointInPoly(pt, poly)
leaflet/overlay/GraphThemeLayer.js, line 263 -
判断一个点是否在多边形里面。(射线法)
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}] -
isQuadrilateralOverLap(quadrilateral)
leaflet/overlay/GraphThemeLayer.js, line 216 -
判断两个四边形是否有压盖。
Name Type Description quadrilateral
Array.<Object> 四边形节点数组。
Example
[{"x":1,"y":1},{"x":3,"y":1},{"x":6,"y":4},{"x":2,"y":10},{"x":1,"y":1}]。 quadrilateral2 - {Array
-
inherited off(event, callback, context)
leaflet/overlay/theme/ThemeLayer.js, line 348 -
移除专题要素事件监听。
Name Type Description event
Event 监听事件
callback
function 回调函数
context
string 信息
-
inherited on(event, callback, context)
leaflet/overlay/theme/ThemeLayer.js, line 332 -
添加专题要素事件监听。添加专题要素事件监听。
Name Type Description event
Event 监听事件
callback
function 回调函数
context
string 信息
-
inherited onAdd(map)
leaflet/overlay/LabelThemeLayer.js, line 81 -
添加专题图
Name Type Description map
L.map 要添加的地图
-
inherited onRemove(map)
leaflet/overlay/theme/ThemeLayer.js, line 55 -
删除某个地图
Name Type Description map
L.map 要删除的地图
-
redraw()
leaflet/overlay/GraphThemeLayer.js, line 332 -
重绘该图层,成功则返回true,否则返回false。
-
redrawThematicFeatures(bounds)
leaflet/overlay/GraphThemeLayer.js, line 103 -
重绘所有专题要素 此方法包含绘制专题要素的所有步骤,包含用户数据到专题要素的转换,压盖处理,缓存等步骤。地图漫游时调用此方法进行图层刷新。
Name Type Description bounds
L.bounds 重绘得范围
-
removeAllFeatures()
leaflet/overlay/GraphThemeLayer.js, line 322 -
清除当前图层所有的矢量要素。
-
removeFeatures(features)
leaflet/overlay/GraphThemeLayer.js, line 311 -
从专题图中删除 feature。这个函数删除所有传递进来的矢量要素(数据)。
Name Type Description features
L.features 待删除得要输
-
setChartsType(chartsType)
leaflet/overlay/GraphThemeLayer.js, line 61 -
设置图表类型,此函数可动态改变图表类型。在调用此函数前请通过 chartsSetting 为新类型的图表做相关配置。图表类型,目前支持:"Bar", "Bar3D", "Line","Point","Pie","Ring"。
Name Type Description chartsType
string 图表类型。目前可用:"Bar", "Bar3D", "Line","Point","Pie","Ring"。
-
inherited setOpacity(opacity)
leaflet/overlay/theme/ThemeLayer.js, line 298 -
设置图层的不透明度,取值[0-1]之间。
Name Type Description opacity
number 不透明度
-
inherited update(bounds)
leaflet/overlay/theme/ThemeLayer.js, line 269 -
更新图层
Name Type Description bounds
L.bounds 图层范围