當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。