添加要素图层

了解如何访问和显示要素图层中点线要素

要素图层是托管在要素服务中的数据集。每个要素图层包含具有单一几何类型 (点、线或面) 和属性组的要素。要素图层可以用来存储、访问和管理应用程序的大量地理数据。通过访问要素图层的 URL 可以从要素图层获取要素。

在本教程中,您将使用 URL 访问和显示三种不同类型的托管要素图层

步骤

创建新 Pen

  1. 要开始使用,请完成显示地图教程 使用此 Pen

添加模块

  1. require 语句中,添加 FeatureLayer 模块。

    GeoScene Maps SDK for JavaScript 提供有 AMD 模块ES 模块,但本教程基于 AMD。AMD require 函数使用引用来确定加载哪些模块 - 例如,您可以指定 "geoscene/Map" 来加载 Map 模块。加载模块后,它们将作为参数 (例如,Map) 传递给回调函数,以便在应用程序中使用。保持模块引用和回调参数的顺序相同是很重要的。有关不同类型模块的更多信息,请访问工具指南主题。

    展开
    代码块使用深色
                                                                        
    添加行。更改行
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
      <script>
      require([
        "geoscene/config",
        "geoscene/Map",
        "geoscene/views/MapView",
    
        "geoscene/layers/FeatureLayer"
    
      ], function(geosceneConfig,Map, MapView, FeatureLayer) {
    
      });
    </script>
     
    展开

添加点要素图层

要素通常显示在所有其他图层之上的要素图层中。使用 FeatureLayer 类引用 Trailheads URL,然后将要素添加到地图中。

  1. 转至 Trailheads URL 并浏览图层的属性。记下 NameTypeDrawing InfoFields 属性。

  2. CodePen 中,创建 FeatureLayer 并设置 url 属性。

    展开
    代码块使用深色
                                                                        
    添加行。添加行。添加行。添加行。
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
      const view = new MapView({
        container: "viewDiv",
        map: map,
        center: [118.80543,34.02700],
        zoom: 13
      });
    
    //Trailheads feature layer (points)
      const trailheadsLayer = new FeatureLayer({
        url: "https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Trailheads/FeatureServer/0"
      });
     
    展开
  3. trailheadsLayer 添加到地图。

    展开
    代码块使用深色
                                                                        
    添加行。
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    //Trailheads feature layer (points)
      const trailheadsLayer = new FeatureLayer({
        url: "https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Trailheads/FeatureServer/0"
      });
    
      map.add(trailheadsLayer);
     
    展开
  4. 运行应用程序以在地图中查看 Trailheads 图层

添加线要素图层

线要素通常显示在点要素之前。使用 FeatureLayer 类引用 Trails URL,然后将要素添加到地图中。

  1. 转至 Trails URL 并浏览图层的属性。记下 NameTypeDrawing InfoFields 属性。

  2. CodePen 中,创建 FeatureLayer 并设置 url 属性。

    展开
    代码块使用深色
                                                                        
    添加行。添加行。添加行。添加行。
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
      map.add(trailheadsLayer);
    
    //Trails feature layer (lines)
      const trailsLayer = new FeatureLayer({
        url: "https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Trails/FeatureServer/0"
      });
     
    展开
  3. 使用索引 0trailsLayer 添加到地图中。这可确保将图层添加到数组的顶部,并在 trailheadsLayer 之前绘制。

    展开
    代码块使用深色
                                                                        
    添加行。
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    //Trails feature layer (lines)
      const trailsLayer = new FeatureLayer({
        url: "https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Trails/FeatureServer/0"
      });
    
      map.add(trailsLayer, 0);
     
    展开
  4. 运行应用程序以在地图中查看 Trails 图层

添加面要素图层

要素通常显示在线要素之前。使用 FeatureLayer 类引用 Parks and Open Spaces URL,然后将要素添加到地图中。

  1. 转至 Parks and Open Spaces URL 并浏览图层的属性。记下 NameTypeDrawing InfoFields 属性。

  2. CodePen 中,创建 FeatureLayer 并设置 url 属性。

    展开
    代码块使用深色
                                                                        
    添加行。添加行。添加行。添加行。
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
      map.add(trailsLayer, 0);
    
    // Parks and open spaces (polygons)
      const parksLayer = new FeatureLayer({
        url: "https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Parks_and_Open_Space/FeatureServer/0"
      });
     
    展开
  3. 使用索引 0parksLayer 添加到地图中。这可确保将图层添加到数组的顶部,并在 trailsLayer 之前绘制。

    展开
    代码块使用深色
                                                                        
    添加行。
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    // Parks and open spaces (polygons)
      const parksLayer = new FeatureLayer({
        url: "https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Parks_and_Open_Space/FeatureServer/0"
      });
    
      map.add(parksLayer, 0);
     
    展开

运行应用程序

CodePen 中,运行代码以显示地图。

地图视图应显示地图中的所有三个要素图层。地图视图按以下顺序绘制地图:

  1. 地形图底图图层
  2. Parks and Open Spaces ()
  3. Trails (线)
  4. Trailheads ()

请务必按正确的顺序添加要素图层,以便正确显示要素(不重叠),并可与要素进行交互。

下一步是什么?

要了解如何使用其他 API 功能,请参阅以下教程:

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。