Inicio
Descripción
Ejemplos
Consulta de propiedades
Actualizar mapa
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Documento HTML</title> <script src="https://cdn.jsdelivr.net/npm/ol@v9.1.0/dist/ol.js"></script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ol@v9.1.0/ol.css"/> <style> html, body { margin: 0; padding: 0; height: 100%; } .map { width: 100%; height: 100%; cursor: default; } </style> </head> <body> <div id="map" class="map"></div> <div id="info"></div> <script> const cnigSource = new ol.source.XYZ({ url: 'https://tms-ign-base.idee.es/1.0.0/IGNBaseTodo/{z}/{x}/{-y}.jpeg' }); const wmsSource = new ol.source.TileWMS({ url: 'https://wms.mapa.gob.es/sigpac/wms?service=wms&request=getcapabilities', params: { 'LAYERS': 'recinto', 'TILED': true, }, serverType: 'geoserver' }); const cnigLayer = new ol.layer.Tile({ source: cnigSource, }); const wmsLayer = new ol.layer.Tile({ source: wmsSource, }); const view = new ol.View({ center: ol.proj.fromLonLat([-5, 40]), zoom: 16 }); const map = new ol.Map({ layers: [cnigLayer, wmsLayer], target: 'map', view: view, }); map.on('singleclick', function (evt) { console.log(evt.coordinate); document.getElementById('info').innerHTML = ''; const viewResolution = view.getResolution(); const url = wmsSource.getFeatureInfoUrl( evt.coordinate, viewResolution, 'EPSG:3857', {'INFO_FORMAT': 'text/html'} ); console.log(url); if (url) { fetch(url) .then((response) => response.text()) .then((html) => { document.getElementById('info').innerHTML = html; }); } }); map.on('pointermove', function (evt) { if (evt.dragging) { return; } const data = wmsLayer.getData(evt.pixel); const hit = data && data[3] > 0; // transparent pixels have zero for data[3] map.getTargetElement().style.cursor = hit ? 'pointer' : ''; }); </script> </body> </html>