当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS Collection用法及代码示例


基本信息

以下是所在类或对象的基本信息。

AMD: require(["esri/core/Collection"], (Collection) => { /* code goes here */ });

ESM: import Collection from "@arcgis/core/core/Collection";

类: esri/core/Collection

继承: Collection > Accessor

子类: SceneModifications

自从:用于 JavaScript 4.0 的 ArcGIS API

用法说明

集合存储相同类型的项目的数组。它提供了用于处理集合中的项目的有用实用方法,包括filter()、find() 和reduce()。

集合可以是任何类型。例如,GraphicsLayer.graphics 是存储在 GraphicsLayer 中的图形集合。您可以使用 Collection 类中的方法在 GraphicsLayer 中添加、删除、重新排序或操作图形。

集合的另一个示例是 Map.layers ,它是包含在 Map 中的操作层的集合。

// Removes a layer from the map using Collection.remove();
map.layers.remove(layer);

每次从集合中添加、移动或删除项目时都会触发更改事件。

从 4.18 版开始,您可以使用 for...of 遍历 Collection 的项目。

// a collection of graphics displayed in the view
const graphics = view.graphics;

for (const graphic of graphics){
  // do something with each view graphic
}

从版本 4.23 开始,reactiveUtils 可用于监视集合中项目的属性更改。

// reactiveUtils watch method can be used to watch the visible
// property of each layer within the map.allLayer's collection
const handle = reactiveUtils.watch(
  () => view.map.allLayers.every((layer) => layer.visible),
  (allVisible) => {
    console.log(`All layers are visible = ${allVisible}`);
  }
);

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 Collection。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。