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


JavaScript ArcGIS Sublayer用法及代碼示例


基本信息

以下是所在類或對象的基本信息。

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

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

類: esri/layers/support/Sublayer

繼承: Sublayer > Accessor

自從:用於 JavaScript 4.1 的 ArcGIS API

用法說明

表示 MapImageLayerTileLayer 中的子層。 MapImageLayer 允許您顯示、查詢和分析 map service 中定義的數據的圖層。Map服務包含具有渲染器、labelingInfo 和definitionExpression 等屬性的子圖層以及在服務器上定義的其他屬性。Map服務上每個MapImageLayer子圖層的屬性可以由用戶或開發者動態地改變。每個TileLayer 子層的屬性都是隻讀的,無法修改。

已知限製

以下限製適用於使用 ArcMap 發布或發布到 ArcGIS Server 10.5.1 或更早版本的所有Map服務的子圖層:

動態層

子層可以動態渲染為動態層。動態圖層是使用子圖層的源屬性創建的。動態圖層有兩種類型:動態Map圖層和動態數據圖層。

動態Map圖層允許您使用新渲染器、定義表達式、不透明度、比例可見性等覆蓋Map服務中的子圖層。單個Map服務圖層可能存在多個動態Map圖層。

動態數據層提供了根據注冊工作空間內的數據動態創建子層的能力。數據可以是包含或不包含幾何、要素類或柵格的表格。這些數據源對服務目錄不直接可見,但可以使用ArcGIS 服務器管理器進行發布和配置。表中的數據可以連接到其他表或動態Map圖層。

例子:

// defines the properties of various sublayers in a map service
let layer = new MapImageLayer({
  url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer",
  sublayers: [
    {  // sets a definition expression on sublayer 3
      id: 3,
      definitionExpression: "pop2000 > 40000000"
    },
    {  // sublayer 2 will be rendered as defined in the map service
      id: 2
    },
    {  // sublayer 1 will be included in the layer, with visibility off
      id: 1,
      visible: false
    },
    {  // sublayer 0 will have new renderer and label
       // expressions applied in the view on the fly
      id: 0,
       renderer: {
         type: "class-breaks"  // autocasts as new ClassBreaksRenderer()
         // set renderer properties here
       },
       labelingInfo: [ new LabelClass ( ... ) ]
     }
   ]
});

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 Sublayer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。