new Cesium.CompositeEntityCollection(collections, owner)
无损地将多个
EntityCollection
实例组合成单个集合。
如果具有相同ID的实体存在于多个集合中,则将其无损地合并到单个新实体实例中。
如果一个实体在多个集合中具有相同的属性,则使用它所属的列表的最后一个集合中的实体的属性。
CompositeEntityCollection
几乎可以在任何使用EntityCollection
的地方使用。
Name | Type | Description |
---|---|---|
collections |
Array.<EntityCollection> |
optional
要合并的EntityCollection 实例的初始列表。
|
owner |
DataSource | CompositeEntityCollection |
optional
创建此集合的DataSource 或CompositeEntityCollection 。
|
成员变量
获取在集合中添加或删除实体时触发的事件。生成的事件是
EntityCollection.collectionChangedEventCallback
。
获取此集合的全局唯一标识符。
获取创建此集合的数据源(或组合实体集合)。
获取集合中的Entity实例的数组。此数组不应直接修改。
内置方法
addCollection(collection, index)
向组合中添加一个实体集合。
Name | Type | Description |
---|---|---|
collection |
EntityCollection | 添加的实体集合。 |
index |
Number | optional 添加集合的索引。如果省略,则集合将添加到所有现有集合的顶部。 |
异常情况:
-
DeveloperError : 索引(如果提供)必须大于或等于零且小于或等于集合数。
计算集合中实体的最大可用性。
如果集合包含无限可用数据和非无限数据的混合,它将只返回与非无限数据相关的间隔。
如果所有数据都是无限的,则返回一个无限的间隔。
返回值:
The availability of entities in the collection.
是否含有某实体。
Name | Type | Description |
---|---|---|
entity |
Entity | 实体。 |
返回值:
含有,返回true,反之,返回false。
是否含有指定的集合。
Name | Type | Description |
---|---|---|
collection |
EntityCollection | 指定的集合。 |
返回值:
含有,返回true,反之,返回false.
根据ID获取实体。
Name | Type | Description |
---|---|---|
id |
String | 实体ID |
返回值:
获取成功,返回该实体,如果ID不存在,返回未定义。
getCollection(index)
根据索引获取集合。
Name | Type | Description |
---|---|---|
index |
Number | 索引。 |
getCollectionsLength()
获取索引在集合中的编号。
获取指定集合的索引。
Name | Type | Description |
---|---|---|
collection |
EntityCollection | 获取索引的集合。 |
返回值:
组合中集合的索引;如果组合中不存在集合,则为-1。
lowerCollection(collection)
将集合在本集合中降低一个位置。
Name | Type | Description |
---|---|---|
collection |
EntityCollection | 要移动的集合。 |
异常情况:
-
DeveloperError : 集合不存在。
lowerCollectionToBottom(collection)
将集合移到本集合底部。
Name | Type | Description |
---|---|---|
collection |
EntityCollection | 要移动的集合。 |
异常情况:
-
DeveloperError : 集合不存在。
raiseCollection(collection)
将集合在本集合中提升一个位置。
Name | Type | Description |
---|---|---|
collection |
EntityCollection | 要移动的集合。 |
异常情况:
-
DeveloperError : 集合不存在。
raiseCollectionToTop(collection)
将集合移到本集合顶部。
Name | Type | Description |
---|---|---|
collection |
EntityCollection | 要移动的集合。 |
异常情况:
-
DeveloperError : 集合不存在。
removeAllCollections()
移除所有集合。
移除存在的集合。
Name | Type | Description |
---|---|---|
collection |
EntityCollection | 要移除的集合。 |
返回值:
已删除,则为true,如果集合不在组合中,则返回false。
resumeEvents()
在添加或删除项时,立即恢复引发
EntityCollection#collectionChanged
事件。
当调用该函数时,while事件被挂起时所做的任何修改都将作为单个事件触发。
这个函数是引用计数的,可以安全地调用多次,只要有相应的调用EntityCollection#resumeEvents
。
异常情况:
-
DeveloperError : resumeEvents 不能在 suspendEvents 之前调用。
suspendEvents()
防止
EntityCollection#collectionChanged
事件被引发,直到对EntityCollection#resumeEvents
进行相应调用,此时将引发一个包含所有挂起操作的单一事件。
这使得许多项目可以有效地添加和删除。
只要对EntityCollection#resumeEvents
有相应的调用,就可以安全地多次调用这个函数。