Skip to content
fbma edited this page May 8, 2024 · 14 revisions

WMS (Web Map Service)
Definido por una url, el servicio puede ofrecer una o muchas capas, individuales o agrupadas, cada una con un nombre propio. Hay varias formas de añadir capas WMS en Mapea:

1.- En el constructor del mapa:

// En modo cadena u objeto    
  mapajs = M.map({
    container: "map",
    layers: ["WMS*Municipios*http://www.ideandalucia.es/wms/dea100_divisiones_administrativas?*terminos_municipales*false*true",
      new M.layer.WMS({
        url: 'http://www.callejerodeandalucia.es/servicios/base/wms?',
        name: 'batimetria',
        legend: 'Batimetria',
        transparent: true,
        tiled: false,
        version: '1.1.0'
      })
    ]
  });

2.- Mediante los métodos addWMS/addLayers:

  mapajs.addWMS(new M.layer.WMS({
    url: 'http://www.callejerodeandalucia.es/servicios/base/wms?',
    name: 'CDAU_toponimia',
    legend: 'Toponimia',
    transparent: true,
    tiled: false,
    version: '1.1.0'
  }));

O combinación de ambos métodos, como en este ejemplo funcional.

Donde:

  • url: Url del servicio (v6.6.0+ Cambiarlo lanza una nueva petición de la capa)
  • name: Nombre de la capa en el servicio. Hasta la v6.2.0, debe ser único en el mapa, pero desde la v6.3.0 dos capas de un mismo servicio pueden tener el mismo name (es decir, se puede cargar dos veces la misma capa), ya que pasa a gestionarse internamente mediante un id.
  • version: opcional versión del estándar a solicitar. Es recomendable especificarlo, si no se especifica, se fija su valor a 1.1.0 en Mapea v6.2.0 y anteriores, y a la 1.3.0 en v6.3.0+
  • legend: Nombre a mostrar en el árbol de contenidos, si usamos uno.
  • transparent: 'false' si es una capa base, 'true' en caso contrario.
  • tiled: 'true' si queremos dividir la capa en tiles, 'false' en caso contrario.
  • styles: (v6.2.0+) opcional Array con nombre del estilo. En versiones anteriores, se puede especificar en el segundo conjunto de opciones.

Opcionalmente, pueden especificarse las resoluciones mínima y máxima de dibujado de las capas, con lo que se establecerían los niveles de zoom en los que sería visible. Esto se hace en un segundo conjunto de opciones, mediante los parámetros 'maxResolution' y 'minResolution':

 var layerWMS = new M.layer.WMS({
        url: 'http://www.callejerodeandalucia.es/servicios/base/wms?',
        name: 'CDAU_toponimia',
        legend: 'Toponimia',
        transparent: true,
        tiled: false,
        version: '1.1.0'
      },
      {
        maxResolution: 3270.877524508511,
        minResolution: 1635.4387622542556
      });

Este segundo conjunto de opciones puede contener también el parámetro "styles" a aplicar en la petición al servidor, y el parámetro "queryable", booleano que indicará con valor 'true' (por defecto) si queremos que la capa se incluya en las peticiones del control getFeatureInfo, 'false' en caso contrario:

  mapajs.addWMS(new M.layer.WMS({
    url: 'http://www.juntadeandalucia.es/institutodeestadisticaycartografia/geoserver-ieca/gridpob/wms?',
    name: 'gridpob_250',
    legend: 'gridpob_250',
    transparent: true,
    tiled: true,
    version: '1.1.0'
  }, {
    styles: 'gridpob:stl_poblacion_total',
    queryable: false
  }));

Los métodos de mapa getWMS(layer) y removeWMS(layer) permiten gestionar las capas WMS existentes.

doc API: M.layer.WMS

Clone this wiki locally