const baseLayer = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: '© OpenStreetMap contributors' }).addTo(map); const cloudsLayer = L.tileLayer(`https://tile.openweathermap.org/map/clouds_new/{z}/{x}/{y}.png?appid=59a92889e413ec962c3b3d5f5d2ce76d`); const windLayer = L.tileLayer(`https://tile.openweathermap.org/map/wind_new/{z}/{x}/{y}.png?appid=59a92889e413ec962c3b3d5f5d2ce76d`); const rainLayer = L.tileLayer(`https://tile.openweathermap.org/map/precipitation_new/{z}/{x}/{y}.png?appid=59a92889e413ec962c3b3d5f5d2ce76d`); const quakeLayer = L.layerGroup(); document.getElementById('cloudsToggle').onchange = e => e.target.checked ? map.addLayer(cloudsLayer) : map.removeLayer(cloudsLayer); document.getElementById('windToggle').onchange = e => e.target.checked ? map.addLayer(windLayer) : map.removeLayer(windLayer); document.getElementById('rainToggle').onchange = e => e.target.checked ? map.addLayer(rainLayer) : map.removeLayer(rainLayer); document.getElementById('quakeToggle').onchange = e => { if (e.target.checked) { map.addLayer(quakeLayer); fetchEarthquakes(); } else { map.removeLayer(quakeLayer); } }; function fetchEarthquakes() { fetch("https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/significant_week.geojson") .then(res => res.json()) .then(data => { quakeLayer.clearLayers(); data.features.forEach(eq => { const coords = eq.geometry.coordinates; const mag = eq.properties.mag; const place = eq.properties.place; const marker = L.circleMarker([coords[1], coords[0]], { radius: 6 + mag, color: 'red', fillColor: 'orange', fillOpacity: 0.7 }).bindPopup(`Magnitude ${mag}
${place}`); quakeLayer.addLayer(marker); }); }); } const hotspots = [ { coords: [54.6872, 25.2797], title: "Kaliningrad Tensions", message: "⚠️ NATO and Russian forces on alert - July 2" }, { coords: [32.0853, 34.7818], title: "Israel-Iran Clash", message: "🔥 Israeli strikes - July 1" }, { coords: [51.9194, 19.1451], title: "Strike in Poland", message: "💥 Missile hit - June 30" }, { coords: [37.5665, 126.9780], title: "Korean Peninsula", message: "🛡️ DPRK missile detected - June 29" }, { coords: [24.7136, 46.6753], title: "Strait of Hormuz", message: "🚢 Iranian naval activity - June 28" } ]; hotspots.forEach(({ coords, title, message }) => { L.marker(coords).addTo(map).bindPopup(`${title}
${message}`); }); function toggleForm() { const form = document.getElementById('reportForm'); form.style.display = form.style.display === 'none' ? 'block' : 'none'; } function submitReport() { const title = document.getElementById('reportTitle').value.trim(); const description = document.getElementById('reportDescription').value.trim(); if (title && description) { const popup = L.popup() .setLatLng(map.getCenter()) .setContent(`${title}
${description}`) .openOn(map); toggleForm(); document.getElementById('reportTitle').value = ''; document.getElementById('reportDescription').value = ''; } }