MapImageLayer - label sublayer features

This sample demonstrates how to label features in MapImageLayer sublayers. Labels are applied when the labelsVisible property is set to true and the labelingInfo property contains at least one LabelClass, which defines the label expression, its placement, and symbol properties.

See the Labeling guide page for more information and known limitations.

Use dark colors for code blocksCopy
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
38
39
40
41
42
43
44
const layer = new MapImageLayer({
  url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer",
  sublayers: [
    {
      id: 2,
      // labelingInfo autocasts to an array of LabelClass objects
      // this sublayer has two label classes. The first sets the
      // label as the state abbreviation at small scales. When the view
      // zooms to larger scales the whole state name is used instead
      labelingInfo: [
        {
          labelExpression: "[state_abbr]",
          labelPlacement: "always-horizontal",
          symbol: {
            type: "text", // autocasts as new TextSymbol()
            color: [255, 255, 255, 0.85],
            font: {
              size: 16,
              weight: "bolder"
            }
          },
          minScale: 18500000,
          maxScale: 9250000
        },
        {
          labelExpression: "[state_name]",
          labelPlacement: "always-horizontal",
          symbol: {
            type: "text", // autocasts as new TextSymbol()
            color: [255, 255, 255, 0.85],
            haloColor: "gray",
            haloSize: 1,
            font: {
              size: 14,
              weight: "bold"
            }
          },
          minScale: 9250000,
          maxScale: 2400000
        }
      ]
    }
  ]
});

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