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


JavaScript ArcGIS SceneModifications.flatten用法及代码示例


基本信息

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

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

ESM: import SceneModifications from "@arcgis/core/layers/support/SceneModifications";

类: esri/layers/support/SceneModifications

继承: SceneModifications > Collection > Accessor

自从:用于 JavaScript 4.16 的 ArcGIS API

用法说明

SceneModifications.flatten函数(或属性)的定义如下:

flatten (callback) {Collection} inherited


展平包含至少一个子集合的分层集合。集合中的每个项目都被传递到callback 函数中,该函数应检查开发人员指定的子集合。返回所有项目(父项和子项)的平面集合。

这对于用户想要搜索Map中所有图层的场景很有用,包括 GroupLayer's layersMapImageLayer's sublayers 。回调应返回项目的sub-collection。如果层次结构中存在多个级别的集合,则此方法对所有sub-collections 递归执行。

参数:

类型说明
callback ItemCallback

将评估集合中每个项目的函数。

返回:

类型 说明
Collection 返回原始集合中所有项目及其子项的平面集合。

例子:

// create a MapImageLayer with several sublayers and add to a map
// containing another GraphicsLayer
let layer = new MapImageLayer({ sublayers: [ ... ] });
let map = new Map({
  layers: [ layer, new GraphicsLayer() ]
});

// A flat collection of all layers and sublayers
// (if layer is a MapImageLayer) in the map.
// This collection may be searched or used for other purposes
let allLayersAndSublayers = map.layers.flatten(function(item){
  return item.layers || item.sublayers;
});

相关用法


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