CompositeEntityCollection

new Cesium.CompositeEntityCollection(collections, owner)

非破坏性地将多个 EntityCollection 实例合成到一个集合中。 如果在多个集合中存在具有相同 ID 的实体,则会非破坏性地 合并为一个新的实体实例。如果一个实体在多个集合中具有相同的属性, 则使用其所属列表中最后一个集合中的实体属性。CompositeEntityCollection 可以在 几乎所有使用 EntityCollection 的地方使用。
Name Type Description
collections Array.<EntityCollection> optional 要合并的初始 EntityCollection 实例列表。
owner DataSource | CompositeEntityCollection optional 创建此集合的数据源(或复合实体集合)。

Members

获取当实体被添加或从集合中移除时触发的事件。 生成的事件是一个 EntityCollection.collectionChangedEventCallback
获取此集合的全局唯一标识符。
获取此复合实体集合的所有者,即创建它的数据源或复合实体集合。
获取集合中的实体实例数组。 此数组不应直接修改。

Methods

将一个集合添加到复合体中。
Name Type Description
collection EntityCollection 要添加的集合。
index number optional 要添加集合的索引。如果省略,则集合将 添加到所有现有集合的顶部。
Throws:
  • DeveloperError : 如果提供了索引,则索引必须大于等于零且小于等于集合的数量。
计算集合中实体的最大可用性。 如果集合包含无限可用数据和非无限数据的混合, 则仅返回与非无限数据相关的时间区间。如果所有 数据都是无限的,则返回无限时间区间。
Returns:
集合中实体的可用性。
如果提供的实体在此集合中,则返回 true;否则返回 false。
Name Type Description
entity Entity 实体。
Returns:
如果提供的实体在此集合中,则返回 true;否则返回 false。

containsCollection(collection)boolean

检查复合体是否包含给定的集合。
Name Type Description
collection EntityCollection 要检查的集合。
Returns:
如果复合体包含该集合,则返回 true;否则返回 false。
获取具有指定 id 的实体。
Name Type Description
id string 要检索的实体的 id。
Returns:
具有提供的 id 的实体,如果该 id 在集合中不存在则返回 undefined。
从复合体中通过索引获取一个集合。
Name Type Description
index number 要获取的索引。
获取此复合体中的集合数量。

indexOfCollection(collection)number

确定给定集合在复合体中的索引。
Name Type Description
collection EntityCollection 要查找索引的集合。
Returns:
集合在复合体中的索引,如果集合不存在于复合体中则返回 -1。
Lowers a collection down one position in the composite.
Name Type Description
collection EntityCollection the collection to move.
Throws:
将集合降低到复合体的底部。
Name Type Description
collection EntityCollection 要移动的集合。
Throws:
将集合在复合体中向上移动一位。
Name Type Description
collection EntityCollection 要移动的集合。
Throws:
将集合提升到复合体的顶部。
Name Type Description
collection EntityCollection 要移动的集合。
Throws:
从这个复合体中移除所有集合。

removeCollection(collection)boolean

从这个复合体中移除一个集合(如果存在的话)。
Name Type Description
collection EntityCollection 要移除的集合。
Returns:
如果集合在复合体中并被移除,则返回 true; 如果集合不在复合体中,则返回 false。
在添加或移除项目时,立即恢复触发 EntityCollection#collectionChanged 事件。 在事件被暂停期间所做的任何修改将在调用此函数时作为单个事件触发。 此函数还确保如果事件也被恢复,则集合会被重新组合。 此函数是引用计数的,只要有相应的调用对 EntityCollection#suspendEvents,就可以安全地多次调用。
Throws:
  • DeveloperError : 在调用 suspendEvents 之前,不能调用 resumeEvents。
阻止 EntityCollection#collectionChanged 事件的触发,直到 对 EntityCollection#resumeEvents 进行相应的调用,此时将 触发一个涵盖所有暂停操作的单个事件。这允许高效地添加和移除多个项目。 在事件被暂停期间,集合的重组合也将被暂停,因为这可能是一项代价高昂的操作。 只要有相应的 EntityCollection#resumeEvents 调用,此函数可以安全地调用多次。
需要帮助?获得答案的最快方法是来自社区和团队 Cesium Forum.