Class: ShapeParameters

SuperMap.Feature.ShapeParameters

图形参数基类,此类不可实例化

new SuperMap.Feature.ShapeParameters()

common/overlay/feature/ShapeParameters.js, line 5

Classes

Circle
Image
Label
Line
Point
Polygon
Rectangle
Sector

Members

clickableboolean

是否可点击。

dataInfoObject

图形携带的附加数据。

highlightStyleObject

高亮样式对象,可设样式属性与 style 的可设样式属性相同。

hoverableboolean

是否可点击。

isHoverByRefDataIDboolean

是否根据 refDataID 进行高亮。用于同时高亮所有 refDataID 相同的图形。

refDataHoverGroupstring

高亮图形组的组名。此属性在 refDataID 有效且 isHoverByRefDataID 为 true 时生效。 一旦设置此属性,且属性值有效,只有关联同一个数据的图形且此属性相同的图形才会高亮。

refDataIDstring

图形所关联数据的 ID(<SuperMap.Feature.Vector> 的 id)。

refOriginalPositionArray

图形参考原点位置,图形的参考中心位置。 refOriginalPosition 是长度为 2 的数组,第一个元素表示 x 坐标,第二个元素表示 y 坐标。 refOriginalPosition 表示图形的参考中心,通常情况下,图形是使用 canvas 的原点位置作为位置参考, 但 refOriginalPosition 可以改变图形的参考位置,例如: refOriginalPosition = [80, 80], 图形圆的 style.x = 20, style.y = 20,那么圆在 canvas 中的实际位置是 [100, 100]。 图形(Shape) 的所有位置相关属性都是以 refOriginalPosition 为参考中心, 也就是说图形的所有位置信息在 canvas 中都是以 refOriginalPosition 为参考的相对位置,只有 refOriginalPosition 的值为 [0, 0] 时,图形的位置信息才是 canvas 绝对位置。 图形的位置信息通常有:style.pointList,style.x,style.y。

Default Value:
[0,0]

shapeParametersObject

图形参数对象,<SuperMap.Feature.ShapeParameters> 子类对象。必设参数,默认值 null。

styleObject

图形样式对象,可设样式属性在子类中确定。

Methods

Background(shapeFactory, box, setting){Object}

common/overlay/feature/ShapeFactory.js, line 376

创建一个矩形背景框图形对象。

Name Type Description
shapeFactory SuperMap.Feature.ShapeFactory

图形工厂对象,必设参数。

box Array.<number>

框区域,长度为 4 的一维数组,像素坐标,[left, bottom, right, top],必设参数。

setting Object

图表配置参数,必设参数。本函数中图形配置对象 setting 可设属性:

Name Type Default Description
backgroundStyle Object

背景样式,此样式对象对象可设属性:<SuperMap.Feature.ShapeParameters.Rectangle#style>。

backgroundRadius Array [0,0,0,0] 可选

背景框矩形圆角半径,可以用数组分别指定四个角的圆角半径,设:左上、右上、右下、左下角的半径依次为 r1、r2、r3、r4,则 backgroundRadius 为 [r1、r2、r3、r4 ]。

Returns:
Type Description
Object 背景框图形,一个可视化图形(矩形)对象。

constructor(){SuperMap.Feature.ShapeParameters}

common/overlay/feature/ShapeParameters.js, line 14

图形参数对象。

Returns:
Type Description
SuperMap.Feature.ShapeParameters 图形参数对象。

createShape(shapeParameters){Object}

common/overlay/feature/ShapeFactory.js, line 69

创建一个图形。具体图形由 shapeParameters 决定。

Name Type Description
shapeParameters Object

图形参数对象,<SuperMap.Feature.ShapeParameters> 子类对象。 此参数可选,如果使用此参数(不为 null),shapeParameters 属性值将被修改为参数的值,然后再使用 shapeParameters 属性值创建图形; 如果不使用此参数,createShape 方法将直接使用 shapeParameters 属性创建图形。

Returns:
Type Description
Object 图形对象(或 null - 图形创建失败)。

destroy()

common/overlay/feature/ShapeParameters.js, line 87

销毁对象。

destroy()

common/overlay/feature/ShapeFactory.js, line 60

销毁图形工厂类对象。

GraphAxis(shapeFactory, dataViewBox, setting, xShapeInfo){Array.<Object>}

common/overlay/feature/ShapeFactory.js, line 414

创建一个统计图表坐标轴图形对象组。

Name Type Description
shapeFactory SuperMap.Feature.ShapeFactory

图形工厂对象,必设参数。

dataViewBox Array.<number>

统计图表模型的数据视图框,长度为 4 的一维数组,像素坐标,[left, bottom, right, top],必设参数。

setting Object

图表配置参数,必设参数。

Name Type Default Description
axisStyle Object

坐标轴样式,此样式对象对象可设属性:<SuperMap.Feature.ShapeParameters.Line#style>。

axisUseArrow boolean false 可选

坐标轴是否使用箭头。

axisYTick number 0 可选

y 轴刻度数量,0表示不使用箭头。

axisYLabels Array.<string>

y 轴上的标签组内容,标签顺序沿着数据视图框左面条边自上而下,等距排布。例如:["1000", "750", "500", "250", "0"]。

axisYLabelsStyle Object

y 轴上的标签组样式,此样式对象对象可设属性:<SuperMap.Feature.ShapeParameters.Label#style>。

axisYLabelsOffset Array.<number> [0,0] 可选

y 轴上的标签组偏移量。长度为 2 的数组,数组第一项表示 y 轴标签组横向上的偏移量,向左为正,默认值:0;数组第二项表示 y 轴标签组纵向上的偏移量,向下为正,默认值:0。

axisXLabels Array.<string>

x 轴上的标签组内容,标签顺序沿着数据视图框下面条边自左向右排布,例如:["92年", "95年", "99年"]。 标签排布规则:当标签数量与 xShapeInfo 中的属性 xPositions 数量相同(即标签个数与数据个数相等时), 按照 xPositions 提供的位置在水平方向上排布标签,否则沿数据视图框下面条边等距排布标签。

axisXLabelsStyle Object

x 轴上的标签组样式,此样式对象对象可设属性:<SuperMap.Feature.ShapeParameters.Label#style>。

axisXLabelsOffset Array.<number> [0,0] 可选

x 轴上的标签组偏移量。长度为 2 的数组,数组第一项表示 x 轴标签组横向上的偏移量,向左为正,默认值:0;数组第二项表示 x 轴标签组纵向上的偏移量,向下为正,默认值:0。

useXReferenceLine boolean

是否使用水平参考线,如果为 true,在 axisYTick 大于 0 时有效,水平参考线是 y 轴刻度在数据视图框里的延伸。

xReferenceLineStyle Object

水平参考线样式,此样式对象对象可设属性:<SuperMap.Feature.ShapeParameters.Line#style>。

axis3DParameter number 0 可选

3D 坐标轴参数,此属性值在大于等于 15 时有效。

xShapeInfo Object

X 方向上的图形信息对象,包含两个属性。

Name Type Description
xPositions Array.<number>

图形在 x 轴方向上的像素坐标值,是一个一维数组,如果图形在 x 方向上有一定宽度,通常取图形在 x 方向上的中心点为图形在 x 方向上的坐标值。

width number

图形的宽度(特别注意:点的宽度始终为 0,而不是其直径)。

Returns:
Type Description
Array.<Object> 统计图表坐标轴图形对象数组。

ShapeStyleTool(defaultStyle, style, styleGroup, styleByCodomain, index, value){Object}

common/overlay/feature/ShapeFactory.js, line 759

一个图形 style 处理工具。此工具将指定的默认 style,通用 style,按 styleGroup 取得的 style 和按数据值 value 范围取得的 style 进行合并,得到图形最终的 style。

Name Type Description
defaultStyle Object

默认style,此样式对象可设属性根据图形类型参考 <SuperMap.Feature.ShapeParameters> 子类对象的 style 属性。

style Object

图形对象基础 style,此参数控制图形的基础样式,可设属性根据图形类型参考 <SuperMap.Feature.ShapeParameters> 子类对象的 style 属性。优先级低于 styleGroup,styleByCodomain。

styleGroup Array.<Object>

一个 style 数组,优先级低于 styleByCodomain,高于 style。此数组每个元素是样式对象, 其可设属性根据图形类型参考 <SuperMap.Feature.ShapeParameters> 子类对象的 style 属性。通过 index 参数从 styleGroup 中取 style。

styleByCodomain Array.<Object>

按数据(参数 value)所在值域范围控制数据的可视化对象样式。 (start code) // styleByCodomain 的每个元素是个包含值域信息和与值域对应样式信息的对象,该对象(必须)有三个属性: // start: 值域值下限(包含); // end: 值域值上限(不包含); // style: 数据可视化图形的 style,其可设属性根据图形类型参考 <SuperMap.Feature.ShapeParameters> 子类对象的 style 属性。。 // dataStyleByCodomain 数组形如: [ { start:0, end:250, style:{ fillColor:"#00CD00" } }, { start:250, end:500, style:{ fillColor:"#00EE00" } }, { start:500, end:750, style:{ fillColor:"#00FF7F" } }, { start:750, end:1500, style:{ fillColor:"#00FF00" } } ] (end)

index number

styleGroup 的索引值,用于取出 styleGroup 指定的 style。

value number

数据值,用于取出 styleByCodomain 指定的 style。

Returns:
Type Description
Object 合并后的样式 (style) 对象。

transformStyle(style){Object}

common/overlay/feature/ShapeFactory.js, line 263

将用户 feature.style (类 Svg style 标准) 的样式,转换为 levelRenderer 的样式标准(类 CSS-Canvas 样式)

Name Type Description
style Object

用户 style。

Returns:
Type Description
Object 符合 levelRenderer 的 style。