WW3 Hourly Updates
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 = '';
}
}