CompositeEntityCollection

new Cesium.CompositeEntityCollection(collections, owner)

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

Members

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

Methods

向复合集合添加一个集合。
Name Type Description
collection EntityCollection 要添加的集合。
index number optional 添加集合的索引。如果省略,集合将添加在所有现有集合之上。
Throws:
  • DeveloperError : 如果提供,index 必须大于或等于零且小于或等于集合数量。
计算集合中实体的最大可用时间。 如果集合包含无限可用数据和非无限数据的混合, 它将仅返回与非无限数据相关的间隔。如果所有 数据都是无限的,将返回无限间隔。
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。
将复合集合中的集合向下降低一个位置。
Name Type Description
collection EntityCollection 要移动的集合。
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#resumeEvents 的相应调用, 就可以安全地多次调用。
Throws:
  • DeveloperError : 不能在 suspendEvents 之前调用 resumeEvents。
阻止触发 EntityCollection#collectionChanged 事件, 直到进行相应的 EntityCollection#resumeEvents 调用,此时 将触发一个覆盖所有挂起操作的单一事件。 这允许有效地添加和移除多个项目。 在事件挂起期间,集合的重新合成操作也将挂起, 因为这可能是代价高昂的操作。 只要存在对 EntityCollection#resumeEvents 的相应调用, 就可以安全地多次调用此函数。
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.