MAPA ECLIPSE #ign-eclipse-democrata .row{display:flex;flex-wrap:wrap;align-items:center} #ign-eclipse-democrata .col-12{width:100%;box-sizing:border-box} #ign-eclipse-democrata select{width:100%;min-height:44px;padding:8px 10px;font-size:16px;margin:6px 0} #ign-eclipse-democrata img{display:block;max-width:100%;height:auto} #ign-eclipse-democrata .span6{box-sizing:border-box;padding:8px} @media(min-width:992px){ #ign-eclipse-democrata .col-lg-6, #ign-eclipse-democrata .span6{width:50%} } Seleccionar Comunidad/Ciudad AutónomaAndalucíaAragónAsturiasIslas Baleares/Illes BalearsCanariasCantabriaCastilla-La ManchaCastilla y LeónCataluña/CatalunyaComunidad Valenciana/Comunitat ValencianaExtremaduraGaliciaMadridMurcia/Región de MurciaNavarra/Comunidad Foral de NavarraPaís Vasco/EuskadiLa RiojaCeutaMelilla Seleccionar provinciaAlmeríaCádizCórdobaGranadaHuelvaJaénMálagaSevillaHuescaTeruelZaragozaAsturiasIlles BalearsLas PalmasSanta Cruz de TenerifeCantabriaAlbaceteCiudad RealCuencaGuadalajaraToledoÁvilaBurgosLeónPalenciaSalamancaSegoviaSoriaValladolidZamoraBarcelonaGironaLleidaTarragonaMadridAlicante/AlacantCastellón/CastellóValencia/ValènciaBadajozCáceresA CoruñaLugoOurensePontevedraMurciaNavarraAraba/ÁlavaBizkaiaGipuzkoaLa RiojaCeutaMelilla (function(){ var root=document.getElementById('ign-eclipse-democrata'); if(!root) return; var ccaa=root.querySelector('#map-ccaa'); var prov=root.querySelector('#ccaa-provincias'); var img=root.querySelector('#imgSelected'); var link=root.querySelector('#imgSelectedLink'); var mapImg=root.querySelector('#ign-map-img'); var areas=root.querySelectorAll('map[name="map_of_spain"] area[data-img]'); var base='https://astronomia.ign.es/rknowsys-theme/images/webAstro/informacion-astronomica/eclipses/eclipses_2026/Eclipse28agosto2026/InformacionBasica/'; function show(file){ if(!file) return; var url=base+encodeURI(file); img.src=url; link.href=url; } function filterProvinces(){ var selected=ccaa.value; Array.prototype.forEach.call(prov.options,function(o,i){ if(i===0){o.hidden=false;return;} o.hidden=!!selected && o.getAttribute('data-ccaa')!==selected; }); prov.value=''; } /* Guardamos las coordenadas ORIGINALES del mapa del IGN. Después las recalculamos según el ancho real al que se está mostrando la imagen. */ Array.prototype.forEach.call(areas,function(area){ area.setAttribute('data-original-coords', area.coords); }); function resizeImageMap(){ if(!mapImg || !mapImg.complete) return; /* El mapa original del IGN usa un sistema de coordenadas de aprox. 450x430 px. Preferimos naturalWidth/naturalHeight cuando el navegador los conoce. */ var originalW = mapImg.naturalWidth || 450; var originalH = mapImg.naturalHeight || 430; var rect = mapImg.getBoundingClientRect(); var displayedW = rect.width; var displayedH = rect.height; if(!displayedW || !displayedH) return; var scaleX = displayedW / originalW; var scaleY = displayedH / originalH; Array.prototype.forEach.call(areas,function(area){ var original = area.getAttribute('data-original-coords'); if(!original) return; var nums = original.split(',').map(function(v){ return parseFloat(v.trim()); }); var shape = (area.getAttribute('shape') || '').toLowerCase(); var scaled = []; if(shape === 'circle'){ /* x, y, radio */ scaled = [ Math.round(nums[0] * scaleX), Math.round(nums[1] * scaleY), Math.round(nums[2] * ((scaleX + scaleY) / 2)) ]; } else { for(var i=0;i