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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。