SuperMap.Feature.ShapeFactory

图形工厂类。

目前支持创建的图形有:

用于统计专题图: 点 - 参数对象: SuperMap.Feature.ShapeParameters.Point

线 参数对象: SuperMap.Feature.ShapeParameters.Line
参数对象: SuperMap.Feature.ShapeParameters.Polygon
矩形 参数对象: SuperMap.Feature.ShapeParameters.Rectangle
扇形 参数对象: SuperMap.Feature.ShapeParameters.Sector
标签 参数对象: SuperMap.Feature.ShapeParameters.Label
图片 参数对象: SuperMap.Feature.ShapeParameters.Image

用于符号专题图: 圆形 - 参数对象:<Supermap.Feature.ShapeParameters.Cilcle>

Summary
SuperMap.Feature.ShapeFactory 图形工厂类。
Properties
shapeParameters {Object} 图形参数对象, SuperMap.Feature.ShapeParameters 子类对象。必设参数,默认值 null。
Constructor
SuperMap.Feature.ShapeFactory 构建图形工厂对象。
Functions
createShape 创建一个图形。具体图形由 shapeParameters 决定。
destroy 销毁图形工厂类对象。
SuperMap.Feature.ShapeFactory.Background 创建一个矩形背景框图形对象。
SuperMap.Feature.ShapeFactory.GraphAxis 创建一个统计图表坐标轴图形对象组。
SuperMap.Feature.ShapeFactory.ShapeStyleTool 一个图形 style 处理工具。此工具将指定的默认 style,通用 style,按 styleGroup 取得的 style 和按数据值 value 范围取得的 style 进行合并,得到图形最终的 style。

Properties

shapeParameters

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

Constructor

SuperMap.Feature.ShapeFactory

构建图形工厂对象。

Parameters

shapeParameters {Object} 图形参数对象,<SuperMap.Feature.ShapeParameters> 子类对象,可选参数。

Returns

{Object} 返回图形工厂类对象。

Functions

destroy

destroy: function()

销毁图形工厂类对象。

createShape

createShape: function( shapeParameters )

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

Parameters

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

Returns

{Object} 图形对象(或 null - 图形创建失败)。

SuperMap.Feature.ShapeFactory.Background

SuperMap.Feature.ShapeFactory.Background = function( shapeFactory,
box,
setting )

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

Parameters

shapeFactory {SuperMap.Feature.ShapeFactory} 图形工厂对象,必设参数。
box {Array{Number}} 框区域,长度为 4 的一维数组,像素坐标,[left, bottom, right, top],必设参数。
setting {Object} 图表配置参数,必设参数。

本函数中图形配置对象 setting 可设属性:

Symbolizer properties

backgroundStyle {Object} 背景样式,此样式对象对象可设属性: <SuperMap.Feature.ShapeParameters.Rectangle::style>。
backgroundRadius {Array} 背景框矩形圆角半径,可以用数组分别指定四个角的圆角半径,设:左上、右上、右下、左下角的半径依次为 r1、r2、r3、r4 , 则 backgroundRadius 为 [r1、r2、r3、r4 ],默认值[0, 0, 0, 0]。

Returns

{Object} 背景框图形,一个可视化图形(矩形)对象。

SuperMap.Feature.ShapeFactory.GraphAxis

SuperMap.Feature.ShapeFactory.GraphAxis = function( shapeFactory,
dataViewBox,
setting,
xShapeInfo )

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

Parameters

shapeFactory {SuperMap.Feature.ShapeFactory} 图形工厂对象,必设参数。
dataViewBox {Array{Number}} 统计图表模型的数据视图框,长度为 4 的一维数组,像素坐标,[left, bottom, right, top],必设参数。
setting {Object} 图表配置参数,必设参数。
xShapeInfo {Object} X 方向上的图形信息对象,包含两个属性, 属性 xPositions 是一个一维数组,该数组元素表示图形在 x 轴方向上的像素坐标值, 如果图形在 x 方向上有一定宽度,通常取图形在 x 方向上的中心点为图形在 x 方向上的坐标值。 width 表示图形的宽度(特别注意:点的宽度始终为 0,而不是其直径)。 xShapeInfo 包含两个属性

Symbolizer properties

xPositions {Array{Number}} 表示图形在 x 轴方向上的像素坐标值,如果图形在 x 方向上有一定宽度,通常取图形在 x 方向上的中心点为图形在 x 方向上的坐标值。
width {Number} 表示图形的宽度(特别注意:点的宽度始终为 0,而不是其直径)。

本函数中图形配置对象 setting 可设属性:

Symbolizer properties

axisStyle {Object} 坐标轴样式,此样式对象对象可设属性: SuperMap.Feature.ShapeParameters.Line::style
axisUseArrow {Boolean} 坐标轴是否使用箭头,默认值:false,不使用箭头。
axisYTick {Number} y 轴刻度数量,默认值:0 ,不使用刻度。
axisYLabels {Array{String}} y 轴上的标签组内容,标签顺序沿着数据视图框左面条边自上而下,等距排布。例如:[“1000”, “750”, “500”, “250”, “0”]。
axisYLabelsStyle {Object} y 轴上的标签组样式,此样式对象对象可设属性: SuperMap.Feature.ShapeParameters.Label::style
axisYLabelsOffset {Array{Number}} 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}} x 轴上的标签组偏移量。长度为 2 的数组,数组第一项表示 x 轴标签组横向上的偏移量,向左为正,默认值:0; 数组第二项表示 x 轴标签组纵向上的偏移量,向下为正,默认值:0。
useXReferenceLine {Boolean) 是否使用水平参考线,如果为 true,在 axisYTick 大于 0 时有效,水平参考线是 y 轴刻度在数据视图框里的延伸。
xReferenceLineStyle {Object) 水平参考线样式,此样式对象对象可设属性: SuperMap.Feature.ShapeParameters.Line::style
axis3DParameter {Number} 3D 坐标轴参数,此属性值在大于等于 15 时有效,默认值:0。

Returns

{Array{Object}} 统计图表坐标轴图形对象数组。

SuperMap.Feature.ShapeFactory.ShapeStyleTool

SuperMap.Feature.ShapeFactory.ShapeStyleTool = function( defaultStyle,
style,
styleGroup,
styleByCodomain,
index,
value )

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

Parameters

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)所在值域范围控制数据的可视化对象样式。
// 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"
     }
 }
]
index {Number} styleGroup 的索引值,用于取出 styleGroup 指定的 style。
value {Number} 数据值,用于取出 styleByCodomain 指定的 style。

Returns

{Object} 合并后的样式 (style) 对象。

图形参数基类,此类不可实例化
destroy: function()
销毁图形工厂类对象。
createShape: function( shapeParameters )
创建一个图形。具体图形由 shapeParameters 决定。
SuperMap.Feature.ShapeFactory.Background = function( shapeFactory,
box,
setting )
创建一个矩形背景框图形对象。
SuperMap.Feature.ShapeFactory.GraphAxis = function( shapeFactory,
dataViewBox,
setting,
xShapeInfo )
创建一个统计图表坐标轴图形对象组。
SuperMap.Feature.ShapeFactory.ShapeStyleTool = function( defaultStyle,
style,
styleGroup,
styleByCodomain,
index,
value )
一个图形 style 处理工具。此工具将指定的默认 style,通用 style,按 styleGroup 取得的 style 和按数据值 value 范围取得的 style 进行合并,得到图形最终的 style。
点参数对象。
线参数对象。
面参数对象。
矩形参数对象。
扇形参数对象。
标签参数对象。
图片参数对象。
构建图形工厂对象。
{Object} 线样式对象,可设属性如下:
{Object} 标签样式对象,可设属性如下:
Close