XYZ - Desarrollos-IDEE/API-IDEE GitHub Wiki
Las capas XYZ son servicios de información geográfica en forma de tesela. Cada tesela representa una combinación de tres parámetros. Las capas XYZ presentan la siguiente estructura:
https://rts.larioja.org/mapa-base/rioja/{z}/{x}/{y}.png
En donde:
- {z} especifica el nivel de zoom.
- {x} el número de columna.
- {y} el número de fila.
En https://leaflet-extras.github.io/leaflet-providers/preview/ se pueden obtener distintos servicio XYZ.
Se pueden construir de varias maneras:
1.- Añadiéndolas en el constructor del mapa. Modo cadena:
const mapa = IDEE.map({
container: 'map',
getfeatureinfo: 'plain',
projection: 'EPSG:3857*m',
layers: ["XYZ*AtlasDeCresques*https://www.ign.es/web/catalogo-cartoteca/resources/webmaps/data/cresques/{z}/{x}/{y}.jpg*true*true"],
zoom: 7,
center: [-491123.5838198825, 4868765.072772329],
});
2.- Con el método correspondiente (addXYZ/addLayers). Modo objeto:
const xyz = new IDEE.layer.XYZ({
url: 'https://tile.opentopomap.org/{z}/{x}/{y}.png',
name: 'AtlasDeCresques',
visibility: true,
});
mapa.addXYZ(xyz);
Donde:
-
url: URL del servicio XYZ.
-
name: Identificador de la capa.
-
legend: Indica el nombre que queremos que aparezca en el árbol de contenidos, si lo hay.
-
isBase: 'true' si se quiere definir la capa como capa base, 'false' en caso contrario.
-
maxExtent: Restringe la visibilidad de la capa a una extensión.
-
visibility: Indica si la capa estará por defecto visible o no.
-
displayInLayerSwitcher: Indica si la capa se muestra en el selector de capas.
-
tileGridMaxZoom: Zoom máximo de cuadrícula de mosaico. (Sobrescribe minZoom y maxZoom)
-
tileSize: Tamaño de la tesela.
-
attribution: Atribución de la capa.
- name. Nombre de la atribución
- description. Descripción de la atribución.
- url. URL de la atribución.
- contentAttributions. Atribuciones por objetos geográficos, por defecto vacío.
- contentType. Tipo de url de “contentAttributions” (KML o GeoJSON).
-
options: Parámetros opcionales para la capa.
- opacity: Opacidad de capa, por defecto 1.
- minZoom: Zoom mínimo aplicable a la capa.
- maxZoom: Zoom máximo aplicable a la capa.
- minScale: Escala mínima.
- maxScale: Escala máxima.
- crossOrigin: Atributo crossOrigin para las imágenes cargadas.
-
vendorOptions: Opciones para la biblioteca base (el código se envía directamente a la librería base para ejecutar la funcionalidad).
Ejemplo vendorOptions:
new IDEE.layer.XYZ({}, {
minZoom: 5,
maxZoom: 10,
}, {
source: new ol.source.XYZ({
projection: 'EPSG:3857',
url: 'https://tms-pnoa-ma.idee.es/1.0.0/pnoa-ma/{z}/{x}/{-y}.jpeg',
tileSize: 256,
crossOrigin: 'anonymus',
}),
});
Ejemplo completo de creación de capa XYZ:
const layer = new IDEE.layer.XYZ({
url: 'https://tile.opentopomap.org/{z}/{x}/{y}.png',
name: 'AtlasDeCresques',
visibility: true,
}, {
displayInLayerSwitcher: false, // No muestra la capa en el TOC
minZoom: 5 // zoom mínimo aplicable a la capa.
}, {
opacity: 0.5 // aplica opacidad a la capa
});
Ejemplo funcional