my_gallery/js/mapGlobal.js
2026-02-21 17:48:12 +01:00

51 lines
1.3 KiB
JavaScript

// ===============================
// MAPPA GLOBALE
// ===============================
document.getElementById("openMapBtn").addEventListener("click", openGlobalMap);
function openGlobalMap() {
const mapDiv = document.getElementById("globalMap");
const gallery = document.getElementById("gallery");
const isOpen = mapDiv.classList.contains("open");
if (isOpen) {
mapDiv.classList.remove("open");
gallery.classList.remove("hidden");
return;
}
mapDiv.classList.add("open");
gallery.classList.add("hidden");
if (!globalMap) {
globalMap = L.map("globalMap").setView([42.5, 12.5], 6);
L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
maxZoom: 19
}).addTo(globalMap);
globalMarkers = L.markerClusterGroup();
globalMap.addLayer(globalMarkers);
photosData.forEach(photo => {
if (!photo.gps || !photo.gps.lat || !photo.gps.lng) return;
const marker = L.marker([photo.gps.lat, photo.gps.lng]);
marker.on("click", () => {
openModal(
`https://prova.patachina.it/${photo.path}`,
photo.thub2
? `https://prova.patachina.it/${photo.thub2}`
: `https://prova.patachina.it/${photo.thub1}`,
photo
);
});
globalMarkers.addLayer(marker);
});
}
setTimeout(() => globalMap.invalidateSize(), 200);
}