es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Mostrando todas las capas en el servicio de entidades de ArcGIS en la aplicación de Angular.

Como puede verse en la capa del Atlas Vivo a continuación, hay múltiples capas dentro (estado, condado, tramo, etc.).

Pero cuando agrego este enlace, solo se mostrará la primera capa (Estado). Luego, al hacer zoom en el mapa, esa capa desaparece.

Quiero mostrar las 4 capas de ese servicio de características (estado, condado, tramo, grupos de bloques).

¿Cómo puedo lograr esto?

.ts

const genderLayer = new FeatureLayer({
    url: "https://services2.arcgis.com/FiaPA4ga0iQKduv3/ArcGIS/rest/services/US<em>Census</em>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
html

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para mostrar las cuatro capas del servicio de características (estado, condado, área de traza y grupo de bloques), debes agregar cada capa individualmente a tu matriz ‘layersToCreateMyPopupTemplate’.

    Para hacer esto, puedes modificar tu código de la siguiente manera:

    .ts

    const stateLayer = new FeatureLayer({ url: "https://services2.arcgis.com/FiaPA4ga0iQKduv3/ArcGIS/rest/services/US_Census_Age_Gender/FeatureServer/0" });
    const countyLayer = new FeatureLayer({ url: "https://services2.arcgis.com/FiaPA4ga0iQKduv3/ArcGIS/rest/services/US_Census_Age_Gender/FeatureServer/1" });
    const tractLayer = new FeatureLayer({ url: "https://services2.arcgis.com/FiaPA4ga0iQKduv3/ArcGIS/rest/services/US_Census_Age_Gender/FeatureServer/2" });
    const blockGroupLayer = new FeatureLayer({ url: "https://services2.arcgis.com/FiaPA4ga0iQKduv3/ArcGIS/rest/services/US_Census_Age_Gender/FeatureServer/3" });
    
    const layersToCreateMyPopupTemplate = [stateLayer, countyLayer, tractLayer, blockGroupLayer];
    
    const map = new Map({
      basemap: "topo-vector",
      layers: layersToCreateMyPopupTemplate
    });
    
    const view = new MapView({
      container,
      map,
      zoom: 3,
      center: [-97.63, 38.34]
    });
    

    .html

    <!-- Div del mapa -->
    <div #mapviewnode=""></div>
    

    En el código anterior, creamos cuatro instancias de ‘FeatureLayer’ para cada capa en el servicio de características, utilizando la URL correcta para cada capa individual. Luego actualizamos nuestra matriz ‘layersToCreateMyPopupTemplate’ para incluir las cuatro capas y finalmente creamos nuestra instancia de ‘MapView’ como antes.

    Esto debería permitirte mostrar las cuatro capas del servicio de características en tu mapa.

Comments are closed.