Class: RankSymbolThemeLayer

RankSymbolThemeLayer

符号专题图图层类。符号专题图通过为每个要素绘制符号大小来反映其对应的专题值的大小;它只能表示单个字段属性信息。 符号专题图多用于具有相关数量特征的地图上,比如表示不同地区粮食产量、GDP、人口等。 即通过制作一个符号专题图,就可以清晰展示各个区域相关 Value 的分布差异等。 目前提供的符号图形有:圆形(后续进行扩展:心形、五角星、多角星、图片等)。

new RankSymbolThemeLayer(name, symbolType, options)

Usage
// 浏览器
<script type="text/javascript" src="https://iclient.supermap.io/dist/leaflet/iclient-leaflet.js"></script>
<script>
  new L.supermap.RankSymbolThemeLayer(name, symbolType, options);
  
  // 弃用的写法
  L.supermap.rankSymbolThemeLayer(name, symbolType, options);
  
</script>

// ES6 Import
import { RankSymbolThemeLayer } from '@supermap/iclient-leaflet';

new RankSymbolThemeLayer(name, symbolType, options);

leaflet/overlay/RankSymbolThemeLayer.js, line 10
Name Type Description
name string

专题图层名。

symbolType ChartType

符号类型。目前支持:'Circle'。

options Object

参数。

Name Type Default Description
isOverLay boolean true 可选

是否进行压盖处理,如果设为 true,表示在图表绘制过程中隐藏对已存在的图表产生压盖的图表。

themeFields string

指定创建专题图字段。

alwaysMapCRS boolean false 可选

要素坐标是否和地图坐标系一致,要素默认是经纬度坐标。

id string 可选

专题图层 ID。默认使用 CommonUtil.createUniqueID("themeLayer_") 创建专题图层 ID。

opacity number 1 可选

图层透明度。

TFEvents Array 可选

专题要素事件临时存储。

attribution string 'Map Data <span>© <a href='http://support.supermap.com.cn/product/iServer.aspx' title='SuperMap iServer' target='_blank'>SuperMap iServer</a></span>' 可选

版权描述信息。

Extends

Members

symbolSettingObject

符号 Circle 配置对象。

Properties:
Name Type Default Description
codomain Array

值域,长度为 2 的一维数组,第一个元素表示值域下限,第二个元素表示值域上限。

maxR number 可选

圆形的最大半径。

minR number 可选

圆形的最小半径。

fillColor string 可选

圆形的填充色,如:fillColor: "#FFB980"。

circleStyle Object 可选

圆形的基础 style,此参数控制圆形基础样式,优先级低于 circleStyleByFields 和 circleStyleByCodomain。

decimalNumber number 可选

数据值数组 dataValues 元素值小数位数,数据的小数位处理参数,取值范围:[0, 16]。如果不设置此参数,在取数据值时不对数据做小数位处理。

circleHoverStyle Object 可选

圆形 hover 状态时的样式,circleHoverAble 为 true 时有效。

circleHoverAble boolean true 可选

是否允许圆形使用 hover 状态。同时设置 circleHoverAble 和 circleClickAble 为 false,可以直接屏蔽图形对专题图层事件的响应。

circleClickAble boolean true 可选

是否允许圆形被点击。同时设置 circleHoverAble 和 circleClickAble 为 false,可以直接屏蔽图形对专题图层事件的响应。

Events

inherited beforefeaturesadded

leaflet/overlay/GraphThemeLayer.js, line 80

向专题图图层中添加数据之前触发。

Properties:
Name Type Description
features Array.<ServerFeature> | Array.<ThemeFeature> | Array.<GeoJSONObject> | ServerFeature | ThemeFeature | GeoJSONObject

待添加的要素。

inherited changelayer

leaflet/overlay/theme/ThemeLayer.js, line 538

图层属性改变之后触发。

Properties:
Name Type Description
layer Object

图层。

property string

图层属性。

inherited featuresremoved

leaflet/overlay/theme/ThemeLayer.js, line 216

删除的要素成功之后触发。

Properties:
Name Type Description
features Array.<FeatureVector>

删除失败的要素数组。

succeed boolean

要输是否删除成功,true 为删除成功,false 为删除失败。

Methods

inherited addFeatures(features)

leaflet/overlay/GraphThemeLayer.js, line 73

向专题图图层中添加数据。

Name Type Description
features Array.<ServerFeature> | Array.<ThemeFeature> | Array.<GeoJSONObject> | ServerFeature | ThemeFeature | GeoJSONObject

待添加的要素。

inherited clear()

leaflet/overlay/GraphThemeLayer.js, line 346

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

inherited clearCache()

leaflet/overlay/GraphThemeLayer.js, line 306

清除缓存数据。

inherited destroyFeatures(features)

leaflet/overlay/theme/ThemeLayer.js, line 140

销毁要素。

Name Type Description
features Array.<FeatureVector> | FeatureVector

将被销毁的要素。

inherited drawCharts()

leaflet/overlay/GraphThemeLayer.js, line 172

绘制图表。包含压盖处理。

inherited getEvents(){Object}

leaflet/overlay/theme/ThemeLayer.js, line 54

获取图层事件。

Returns:
Type Description
Object 返回图层事件。

inherited getFeatureById(featureId){Array.<FeatureVector>}

leaflet/overlay/theme/ThemeLayer.js, line 281

返回指定 ID 的矢量要素,不存在则返回 null。

Name Type Description
featureId number

要素 ID。

Returns:
Type Description
Array.<FeatureVector> 返回图层中的要素。

inherited getFeatures(filter){Array.<FeatureVector>}

leaflet/overlay/theme/ThemeLayer.js, line 244

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

Name Type Description
filter function 可选

根据条件过滤要素的回调函数。

Returns:
Type Description
Array.<FeatureVector> 返回图层中的要素。

inherited getLocalXY(coordinate)

leaflet/overlay/theme/ThemeLayer.js, line 436

地理坐标转为像素坐标。

Name Type Description
coordinate Array

inherited getShapesByFeatureID(featureID)

leaflet/overlay/GraphThemeLayer.js, line 198

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

Name Type Description
featureID number

要素 ID。

inherited getWeightFieldValue(feature, weightField, defaultValue)

leaflet/overlay/GraphThemeLayer.js, line 360

获取权重字段的值。

Name Type Description
feature FeatureVector

矢量要素。

weightField Array.<string>

字段名数组。

defaultValue number

当通过 weightField 获取不到权重值时,使用 defaultValue 作为权重值。

inherited isChartInMap(mapPxBounds, chartPxBounds)

leaflet/overlay/GraphThemeLayer.js, line 283

判断图表是否在地图里。

Name Type Description
mapPxBounds Bounds

地图像素范围。

chartPxBounds Array.<Object>

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

inherited isPointInPoly(pt, poly)

leaflet/overlay/GraphThemeLayer.js, line 267

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

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

inherited isQuadrilateralOverLap(quadrilateral, quadrilateral2)

leaflet/overlay/GraphThemeLayer.js, line 220

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

Name Type Description
quadrilateral Array.<Object>

四边形节点数组。

quadrilateral2 Array.<Object>

第二个四边形节点数组。

Example
[{"x":1,"y":1},{"x":3,"y":1},{"x":6,"y":4},{"x":2,"y":10},{"x":1,"y":1}];

inherited off(event, callback, context)

leaflet/overlay/theme/ThemeLayer.js, line 397

移除事件监听。

Name Type Description
event Event

监听事件。

callback function

回调函数。

context string

信息。

inherited on(event, callback, context)

leaflet/overlay/theme/ThemeLayer.js, line 381

监听事件。监听专题要素事件。

Name Type Description
event Event

监听事件。

callback function

回调函数。

context string

信息。

inherited onRemove(map)

leaflet/overlay/theme/ThemeLayer.js, line 72

删除某个地图。

Name Type Description
map L.Map

Leaflet Map 对象。

inherited redraw()

leaflet/overlay/GraphThemeLayer.js, line 336

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

inherited redrawThematicFeatures(bounds)

leaflet/overlay/GraphThemeLayer.js, line 103

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

Name Type Description
bounds L.Bounds

重绘的范围。

inherited removeAllFeatures()

leaflet/overlay/GraphThemeLayer.js, line 326

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

inherited removeFeatures(features)

leaflet/overlay/GraphThemeLayer.js, line 315

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

Name Type Description
features Array.<FeatureVector> | FeatureVector | function

待删除的要素或用于条件删除的回调函数。

inherited setChartsType(chartsType)

leaflet/overlay/GraphThemeLayer.js, line 63

设置图表类型,此函数可动态改变图表类型。在调用此函数前请通过 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 346

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

Name Type Description
opacity number

不透明度。

setSymbolType(symbolType)

leaflet/overlay/RankSymbolThemeLayer.js, line 54

设置符号类型,此函数可动态改变图表类型。在调用此函数前请通过 symbolSetting 为新类型的图表做相关配置。

Name Type Description
symbolType ChartType

目前支持:'Circle'。

inherited deprecated toFeature(features){FeatureVector}

leaflet/overlay/theme/ThemeLayer.js, line 496

转为 iClient 要素,该方法将被弃用,由 ThemeLayer#toiClientFeature 代替。

Name Type Description
features Array.<ServerFeature> | Array.<ThemeFeature> | Array.<GeoJSONObject> | ServerFeature | ThemeFeature | GeoJSONObject

待转要素。

Returns:
Type Description
FeatureVector 转换后的 iClient 要素。

inherited toiClientFeature(features){Array.<FeatureVector>}

leaflet/overlay/theme/ThemeLayer.js, line 461

转为 iClient 要素。

Name Type Description
features Array.<ServerFeature> | Array.<ThemeFeature> | Array.<GeoJSONObject> | ServerFeature | ThemeFeature | GeoJSONObject

待转要素。

Returns:
Type Description
Array.<FeatureVector> 转换后的 iClient 要素。

inherited update(bounds)

leaflet/overlay/theme/ThemeLayer.js, line 311

更新图层。

Name Type Description
bounds L.Bounds

图层范围。