MapImageLayer - 创建动态地图图层

尝试一下在线预览

这个示例演示了如何在 MapImageLayer 中创建 动态地图图层动态地图图层允许动态更改地图服务图层的属性,包括标签、渲染器、可见性和定义表达式。动态图层被创建为 MapImageLayer 的 子图层这意味着多个动态图层可以指向相同的地图服务图层,因此您可以从相同的数据源复制图层到 MapImageLayer 。

在下面的代码片段中,三个子图层被添加到 MapImageLayer 中。在这种情况下,子图层的 id 属性不引用服务图层的图层 ID 。

而是由用户决定唯一地标识图层。服务图层的图层 ID 在 mapLayerId 属性中被引用。本例中的源类型为 map-layer  , 由用户或开发人员在设置 mapLayerId  属性时推断。请注意,所有三个图层都指向相同的源图层 ID ,但以不同的方式动态地更改该图层的属性。

                                     
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
const layer = new MapImageLayer({
  url: "https://sampleserver6.geosceneonline.cn/arcgis/rest/services/Census/MapServer",
  sublayers: [
    {
      id: 10,
      renderer: {
        type: "class-breaks"
        // set other renderer properties in this object
      },
      source: {
        mapLayerId: 1
      }
    },
    {
      id: 11,
      renderer: {
        type: "unique-value"
        // set other renderer properties in this object
      },
      definitionExpression: "POP07_SQMI >= 5100",
      source: {
        mapLayerId: 1
      }
    },
    {
      id: 12,
      renderer: {
        type: "simple"
        // set other renderer properties in this object
      },
      definitionExpression: "POP07_SQMI >= 5100",
      source: {
        mapLayerId: 1
      }
    }
  ]
});

要查看地图服务中图层的默认渲染器,请删除对此示例中定义的渲染器的引用或查看  MapImageLayer - Toggle sublayer visibility  示例。

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.