在 Angular 应用程序中显示 ArcGIS 要素服务中的所有图层

Displaying all layers in ArcGIS feature service in Angular application

正如您在下面的活地图集图层中看到的那样,里面有多个图层(州、县、地区等)

但是当我添加this link时,它只会显示第一层(状态)。然后,当我放大地图时,那个图层消失了。

我想显示该要素服务的所有 4 个图层。(州、县、地区、街区组)

如何实现?

.ts

const genderLayer = new FeatureLayer({
    url: "https://services2.arcgis.com/FiaPA4ga0iQKduv3/ArcGIS/rest/services/US_Census_Age_Gender/FeatureServer",
    });
    const layersToCreateMyPopupTemplate = [ageLayer,genderLayer];

const map = new Map({
      basemap: 'topo-vector',
      layers: layersToCreateMyPopupTemplate
  });

const view = new MapView({
  container,
  map: map,
  zoom: 3,
  center: [-97.63, 38.34],
});

.html

<!-- Map Div -->
<div #mapViewNode></div>

您遇到的问题是,

  1. 您正在尝试将 FeatureLayer 用于整个地图服务,这意味着在该服务中您有 4 个 FeatureLayers,每个服务层一个,
  1. 它消失是因为状态层,第一个(编号 0),它只在 Max 之前可见。规模:20000001

这种类型的服务是故意以这种方式提供的,以使其高效(易于理解)并具有良好的性能。也就是说,它显示了每个比例尺需要显示的内容。

通常最好使用 MapImageLayer 或类似的方式显示,然后使用要素服务进行查询。遗憾的是,在这种情况下它不提供那种服务 (MapServer),因此您将不得不创建四个 FeatureLayer,每个一个。