Carto test

Cartographie des projets "EAU" en Nouvelle-Aquitaine

En cours de développement

Comparaison Deux Cartes – ACA et R3-LPP

Filtres

ACA – Laboratoires
R3-LPP – Acteurs

Cartographie ESR – Nouvelle-Aquitaine

` }); } Promise.all([ fetch(urlESR).then(r=>r.json()), fetch(urlDoctorales).then(r=>r.json()), fetch(urlLaboratoires).then(r=>r.json()) ]).then(([esrGeo, edGeo, labGeo])=>{ const allFeatures = [ ...esrGeo.features.map(f=>({ ...f.properties, coords:f.geometry.coordinates.reverse() })), ...edGeo.features.map(f=>({ ...f.properties, coords:f.geometry.coordinates.reverse() })), ...labGeo.features.map(f=>({ ...f.properties, coords:f.geometry.coordinates.reverse() })) ]; function applyFilter(){ const filtered = allFeatures.filter(e=>{ if(!activeFilters.types.has(e.type)) return false; if(activeFilters.themes.size > 0){ return e.thematiques?.some(t => activeFilters.themes.has(t)); } return true; }); updateMap(filtered); updateCards(filtered); } function updateMap(data){ Object.values(markers).forEach(m=>map.removeLayer(m)); markers = {}; data.forEach(e=>{ const m = L.marker(e.coords, { icon:getIcon(e.type) }) .addTo(map).bindPopup(e.nom); m.on("click", ()=>highlightCard(e.id)); markers[e.id] = m; }); } function updateCards(data){ const container = document.getElementById("cards"); container.innerHTML = ""; data.forEach(e=>{ const card = document.createElement("div"); card.className="card"; card.id="card-"+e.id; card.innerHTML = `${e.nom}
${e.type}`; card.onclick = ()=>{ map.setView(e.coords,12); markers[e.id].openPopup(); highlightCard(e.id); }; container.appendChild(card); }); } function highlightCard(id){ document.querySelectorAll(".card").forEach(c=>c.classList.remove("active")); const c = document.getElementById("card-"+id); if(c) c.classList.add("active"); } document.querySelectorAll('#filters input[type="checkbox"]').forEach(cb=>{ cb.addEventListener("change", e=>{ const v = e.target.value; if(["esr","ecole_doctorale","laboratoire"].includes(v)){ e.target.checked ? activeFilters.types.add(v) : activeFilters.types.delete(v); } else { e.target.checked ? activeFilters.themes.add(v) : activeFilters.themes.delete(v); } applyFilter(); }); }); document.getElementById("toggleFilters").onclick = ()=>{ document.getElementById("filters").classList.toggle("collapsed"); }; applyFilter(); });
ArcGIS Dashboards