Class: Collection

Collection

几何对象集合类,存储在本地的 components 属性中(可作为参数传递给构造函数)。
随着新的几何图形添加到集合中,将不能被克隆,当移动几何图形时,需要指定参照物。
getArea和getLength函数只能通过遍历存储几何对象的 components 数组,总计所有几何图形的面积和长度。

new SuperMap.Geometry.Collection(components)

common/commontypes/geometry/Collection.js, line 5
Name Type Description
components Array.<SuperMap.Geometry>

几何对象数组。

Example
var point1 = new SuperMap.Geometry.Point(10,20);
var point2 = new SuperMap.Geometry.Point(30,40);
var col = new SuperMap.Geometry.Collection([point1,point2]);

Extends

Members

几何对象的范围

componentsArray.<SuperMap.Geometry>

存储几何对象的数组。

componentTypesArray.<string>

components存储的的几何对象所支持的几何类型数组,为空表示类型不受限制。

idstring

此几何对象的唯一标示符。

This is set when a Geometry is added as component of another geometry

SRIDinterger

投影坐标参数。通过该参数,服务器判断Geometry对象的坐标参考系是否与数据集相同,如果不同,则在数据入库前进行投影变换。

Example
var geometry= new SuperMap.Geometry();
  geometry. SRID=4326;

Methods

addComponent(component, index){Boolean}

common/commontypes/geometry/Collection.js, line 118

添加一个几何对象到集合中。如果设置了componentTypes类型,则添加的几何对象必须是componentTypes中的类型

Name Type Description
component SuperMap.Geometry

待添加的几何对象

index int

几何对象插入的位置

Returns:
Type Description
Boolean 是否添加成功

addComponents(components)

common/commontypes/geometry/Collection.js, line 101

给几何图形对象添加元素。

Name Type Description
components Array.<SuperMap.Geometry>

几何对象组件。

Example
var collection = new SuperMap.Geometry.Collection();
collection.addComponents(new SuerpMap.Geometry.Point(10,10));

calculateBounds()

common/commontypes/geometry/Collection.js, line 80

通过遍历数组重新计算边界,在遍历每一子项中时调用 extend 方法。

inherited clearBounds()

common/commontypes/Geometry.js, line 81

清除几何对象的bounds。 如果该对象有父类,也会清除父类几何对象的bounds。

clone(){SuperMap.Geometry.Collection}

common/commontypes/geometry/Collection.js, line 50

克隆当前几何对象。

Returns:
Type Description
SuperMap.Geometry.Collection 克隆的几何对象集合。

destroy()

common/commontypes/geometry/Collection.js, line 40

销毁几何图形。

equals(geometry){Boolean}

common/commontypes/geometry/Collection.js, line 198

判断两个几何图形是否相等。如果所有的 components 具有相同的坐标,则认为是相等的。

Name Type Description
geometry SuperMap.Geometry

需要判断的几何图形。

Returns:
Type Description
Boolean 输入的几何图形与当前几何图形是否相等。

inherited extendBounds(newBounds)

common/commontypes/Geometry.js, line 94

Extend the existing bounds to include the new bounds. If geometry's bounds is not yet set, then set a new Bounds.

Name Type Description
newBounds SuperMap.Bounds

-

getArea(){number}

common/commontypes/geometry/Collection.js, line 185

计算几何对象的面积。注意,这个方法在 类中需要重写。

Returns:
Type Description
number 几何图形的面积,是几何对象中所有组成部分的面积之和。

inherited getBounds(){SuperMap.Bounds}

common/commontypes/Geometry.js, line 111

获得几何图形的边界。如果没有设置边界,可通过计算获得。

Returns:
Type Description
SuperMap.Bounds 返回的几何对象的边界。

getComponentsString(){string}

common/commontypes/geometry/Collection.js, line 67

获取components字符串

Returns:
Type Description
string components字符串

getVertices(nodes){Array}

common/commontypes/geometry/Collection.js, line 224

返回几何对象的所有结点的列表。

Name Type Description
nodes Boolean

对于线来说,仅仅返回作为端点的顶点,如果设为false,则返回非端点的顶点如果没有设置此参数,则返回所有顶点。

Returns:
Type Description
Array 几何对象的顶点列表。

removeComponent(component){Boolean}

common/commontypes/geometry/Collection.js, line 170

从集合中移除一个几何对象

Name Type Description
component SuperMap.Geometry

要移除的几何对象

Returns:
Type Description
Boolean 几何对象是否移除成功

removeComponents(components){Boolean}

common/commontypes/geometry/Collection.js, line 151

清除几何对象。

Name Type Description
components Array.<SuperMap.Geometry>

需要清除的几何对象。

Returns:
Type Description
Boolean 元素是否被删除。

inherited setBounds(bounds)

common/commontypes/Geometry.js, line 69

设置此几何对象的bounds。

Name Type Description
bounds SuperMap.Bounds

-

inherited toString(){string}

common/commontypes/Geometry.js, line 155

返回geometry对象的字符串表述,需要引入SuperMap.Format.WKT。此方法只能在子类实现,在父类使用会报错。

Returns:
Type Description
string geometry对象的字符串表述(Well-Known Text)