Class: Graph

ol.source.Graph

统计专题图图层基类。

new ol.source.Graph(chartsType, name, opt_options)

openlayers/overlay/Graph.js, line 15
Name Type Default Description
chartsType string

图表类别。

name string

图层名称。

opt_options Object

参数。

Name Type Default Description
map ol.Map

当前 Map 对象。

chartsType string

图表类型。目前可用:"Bar","Bar3D","Line","Point","Pie","Ring"。

chartsSetting Object

各类型图表的 chartsSetting 对象可设属性请参考具体图表模型类的注释中对 chartsSetting 对象可设属性的描述。chartsSetting 对象通常都具有以下几个基础可设属性。

Name Type Description
width number

专题要素(图表)宽度。

height number

专题要素(图表)高度。

codomain Array.<number>

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

XOffset number 可选

专题要素(图表)在 X 方向上的偏移值,单位像素。

YOffset number 可选

专题要素(图表)在 Y 方向上的偏移值,单位像素。

dataViewBoxParameter Array.<number> 可选

数据视图框 dataViewBox 参数,它是指图表框 chartBox(由图表位置、图表宽度、图表高度构成的图表范围框)在左、下,右,上四个方向上的内偏距值,长度为 4 的一维数组。

decimalNumber number 可选

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

themeFields string

指定创建专题图字段。

id string 可选

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

opacity number 1 可选

图层透明度。

logo string 可选

Logo。

projection ol.proj.Projection 可选

ol.proj.Projection 投影信息。

ratio number 1.5 可选

视图比, 1 表示画布是地图视口的大小,2 表示地图视口的宽度和高度的两倍,依此类推。必须是 1 或更高。

resolutions Array.<number> 可选

分辨率数组。

isOverLay boolean true 可选

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

state ol.source.State 可选

资源状态。

opt_option.attributions string | Object 'Map Data <span>© <a href='http://support.supermap.com.cn/product/iServer.aspx' target='_blank'>SuperMap iServer</a></span> with <span>© <a href='https://iclient.supermap.io' target='_blank'>SuperMap iClient</a></span>' 可选

版权信息。

Extends

Methods

addFeatures(features)

openlayers/overlay/Graph.js, line 83

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

Name Type Description
features SuperMap.ServerFeature | L.supermap.themeFeature

待添加的要素。

inherited addTFEvents()

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

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

clear()

openlayers/overlay/Graph.js, line 420

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

clearCache()

openlayers/overlay/Graph.js, line 379

清除缓存。

createThematicFeature(feature)

openlayers/overlay/Graph.js, line 151

向专题图图层中添加数据, 支持的 feature 类型为:iServer 返回的 feature JSON 对象。

Name Type Description
feature SuperMap.ServerFeature

待添加的要素。

destroy()

openlayers/overlay/Graph.js, line 57

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

inherited destroyFeatures(features)

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

销毁某个要素。

Name Type Description
features SuperMap.Feature.Vector

将被销毁的要素。

drawCharts()

openlayers/overlay/Graph.js, line 172

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

inherited fire(type, event)

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

添加专题要素事件监听。

Name Type Description
type string

事件类型。

event string

事件名称。

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

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

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

通过给定一个 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 247

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

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

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

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

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

Name Type Description
attrName string

属性的 key。

attrValue string

矢量要素的属性 ID。

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

inherited getLocalXY(coordinate)

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

获取坐标系统。

Name Type Description
coordinate Object

坐标位置。

getShapesByFeatureID(featureID)

openlayers/overlay/Graph.js, line 281

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

Name Type Description
featureID number

要素 ID。

isChartInMap(mapPxBounds, chartPxBounds)

openlayers/overlay/Graph.js, line 359

判断图表是否在地图里。

Name Type Description
mapPxBounds SuperMap.Bounds

地图像素范围。

chartPxBounds Array.<Object>

图表范围的四边形节点数组。

isPointInPoly(pt, poly)

openlayers/overlay/Graph.js, line 344

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

Name Type Description
pt Object

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

poly Array.<Object>

多边形节点数组。

isQuadrilateralOverLap(quadrilateral, quadrilateral2)

openlayers/overlay/Graph.js, line 301

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

Name Type Description
quadrilateral Array.<Object>

四边形节点数组。

quadrilateral2 Array.<Object>

第二个四边形节点数组。

inherited on(event, callback)

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

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

Name Type Description
event string

事件名称。

callback RequestCallback

事件回调函数。

redraw()

openlayers/overlay/Graph.js, line 407

重绘该图层

redrawThematicFeatures(extent)

openlayers/overlay/Graph.js, line 106

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

Name Type Description
extent Object

重绘的范围。

removeAllFeatures()

openlayers/overlay/Graph.js, line 398

移除所有的要素

removeFeatures(features)

openlayers/overlay/Graph.js, line 388

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

Name Type Description
features SuperMap.Feature.Vector

要删除的要素。

inherited rotate(pixelP, rotation, center)

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

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

Name Type Description
pixelP number

像素坐标点位置。

rotation number

旋转角度。

center number

中心位置。

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

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

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

Name Type Description
pixelP Object

像素点。

center Object

中心点。

scaleRatio number

缩放倍数。

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

setChartsType(chartsType)

openlayers/overlay/Graph.js, line 73

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

Name Type Description
chartsType string

图表类型。目前可用:"Bar","Bar3D","Line","Point","Pie","Ring"。

inherited setOpacity(opacity)

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

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

Name Type Description
opacity number

不透明度。

inherited toFeature(features){SuperMap.Feature.Vector}

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

转为 iClient 要素,该方法将被弃用,由 ol.source.Theme#toiClientFeature 代替。

Name Type Description
features ol.supermap.ThemeFeature | GeoJSONObject | ol.Feature

待转要素。

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

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

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

转为 iClient 要素。

Name Type Description
features ol.supermap.ThemeFeature | GeoJSONObject | ol.Feature

待转要素。

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

inherited un(event, callback)

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

移除专题要素事件监听。

Name Type Description
event string

事件名称。

callback RequestCallback

事件回调函数。