51 lines
1.3 KiB
JavaScript
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);
|
|
}
|