Salta el contingut

2.14 Fetch dades i crea menú

Exemple

.fetchDataAndMenu(url,idLayer,filterField,options)

📌 Format de dades: geojson o flatgeobuf

See the Pen Exemple fetchData by unitatgeostart (@unitatgeostart) on CodePen.

CodePen

Codi

<html>
  <head>
    <meta charset="utf-8" />
    <title>Exemple mapicgc-gl-js: Fetch dades</title>
    <meta
      name="viewport"
      content="initial-scale=1,maximum-scale=1,user-scalable=no"
    />
    <script src="https://eines.icgc.cat/recursos/mapicgc-gl-js/mapicgc-gl.js"></script>
    <link
      href="https://eines.icgc.cat/recursos/mapicgc-gl-js/mapicgc-gl.css"
      rel="stylesheet"
    />

    <style>
      body {
        margin: 0;
        padding: 0;
      }

      #map {
        position: absolute;
        top: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
      }

      /* Personalitza el teu menú: */

      #menu-group {
        position: absolute;
        top: 10px;
        left: 10px;
        color: #000000;
      }

      #menu-group input[type="checkbox"] + label {
        background-color: #ffffff !important;
      }

      #titleDivMenu {
        background-color: rgb(213 212 212);
      }

      #titleDivMenuSub {
        background-color: #e9e9e9;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>

    <script>
      async function initMap() {
        const data = await mapicgcgl.Config.getConfigICGC();
        const map = new mapicgcgl.Map({
          container: "map",
          style: data.Styles.TOPO,
          center: [1.808, 41.618],
          zoom: 10,
          maxZoom: 19,
          hash: true,
          pitch: 0,
        });

        let filterField = "municipi"; // select 'all' for view all the features as a single layer
        let optionsLayer = {
          layout: {
            visibility: "visible",
          },
          paint: {
            "line-color": "green",
            "line-width": 3,
            "line-opacity": 1,
          },
          layerPosition: "labels",
        };

        let filterFGBField = "NOMPROV"; // select 'all' for view all the features as a single layer
        let optionsLayerfgb = {
          type: "line",
          layout: {
            visibility: "visible",
          },
          paint: {
            "line-color": "grey",
            "line-opacity": 1,
            "line-width": 2,
          },
          layerPosition: "labels",
        };

        map.on("load", () => {
          map.fetchDataAndMenu(
            "https://analisi.transparenciacatalunya.cat/resource/pzaa-n72w.geojson",
            "RutesMontserrat",
            filterField,
            optionsLayer
          );

          //     map.fetchDataAndMenu(
          //     "https://analisi.transparenciacatalunya.cat/resource/pzaa-n72w.geojson",
          //     "RutesMontserrat", filterField, layerPosition, paintOptions);

          // map.fetchDataAndMenu(
          //     data.Layers.FGBAdmin.provinciesVigent, "Provincies",
          //     filterFGBField, layerPosition, paintOptionsfgb
          // );
          map.fetchDataAndMenu(
            data.Layers.FGBAdmin.provinciesVigent,
            "Provincies",
            filterFGBField,
            optionsLayerfgb
          );
        });
      }
      initMap();
    </script>
  </body>
</html>

Posició (layerPosition)

id Descripció
'top' Posició de la capa per sobre de tots els elements carregats prèviament
'labels' Posició de la capa per sota de tots els elements de tipus etiqueta carregats prèviament
'lines' Posició de la capa per sota de tots els elements de tipus línia, punt i etiqueta carregats prèviament

Capes FGB ICGC

Layers.FGBAdmin.{id}

id
agrupacionsCensalsVigent
agrupacionsCensalsVigentText
areesBasiquesPolicialsVigent
areesBasiquesPolicialsVigentText
areesBasiquesServeisSocialsVigent
areesBasiquesServeisSocialsVigentText
areesGestioAssistencialVigent
areesHidrogeologiquesAquifersVigent
catalunyaVigent
catalunyaVigentText
comarquesVigent
comarquesVigentText
districtesCensalsVigent
districtesCensalsVigentText
incendisForestalsVigent
incendisForestalsVigentText
municipisVigent
municipisVigentText
partitsJudicialsVigent
partitsJudicialsVigentText
plaTerritorialVigent
plaTerritorialVigentText
provinciesVigent
provinciesVigentText
regionsPolicialsVigent
regionsPolicialsVigentText
regionsSanitariesVigent
regionsSanitariesVigentText
seccionsCensalsVigent
seccionsCensalsVigentText
sectorsSanitarisVigent
vegueriesVigent
vegueriesVigentText