...

リスクを調べてみよう

郵便番号を入れるとその地域の凍害危険性を3段階で診断します。ぜひ試してみてね!簡易的なものです。

const map = L.map(‘map’).setView([37.5, 137.0], 5); // 日本の中心 L.tileLayer(‘https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png’, { attribution: ‘© OpenStreetMap contributors’ }).addTo(map); map.on(‘click’, function(e) { const lat = e.latlng.lat; const lng = e.latlng.lng; fetch(`https://nominatim.openstreetmap.org/reverse?format=json&lat=${lat}&lon=${lng}`) .then(res => res.json()) .then(data => { const address = data.address; const zip = address.postcode; const messageArea = document.getElementById(‘result’); if (!zip) { messageArea.textContent = ‘郵便番号が取得できませんでした。’; messageArea.className = ‘alert alert-secondary’; return; } // ここで先ほどの凍上リスク判定ロジックを再利用 const prefix = zip.slice(0, 3); let message = `【地域】${address.state || ”}${address.city || ”}\n`; let level = ‘info’; if ([‘060’, ‘030’, ‘010’, ‘020’, ‘038’, ‘949’].includes(prefix)) { message += ‘この地域は凍上災リスクが非常に高いです。’; level = ‘danger’; } else if ([‘940’, ‘950’, ‘399’, ‘501’].includes(prefix)) { message += ‘この地域は中程度の凍上リスクがあります。’; level = ‘warning’; } else { message += ‘この地域の凍上リスクは比較的低いです。’; level = ‘success’; } messageArea.textContent = message; messageArea.className = `alert alert-${level}`; }); });
const map = L.map(‘map’).setView([37.5, 137.0], 5); // 日本の中心 L.tileLayer(‘https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png’, { attribution: ‘© OpenStreetMap contributors’ }).addTo(map); map.on(‘click’, function(e) { const lat = e.latlng.lat; const lng = e.latlng.lng; fetch(`https://nominatim.openstreetmap.org/reverse?format=json&lat=${lat}&lon=${lng}`) .then(res => res.json()) .then(data => { const address = data.address; const zip = address.postcode; const messageArea = document.getElementById(‘result’); if (!zip) { messageArea.textContent = ‘郵便番号が取得できませんでした。’; messageArea.className = ‘alert alert-secondary’; return; } // ここで先ほどの凍上リスク判定ロジックを再利用 const prefix = zip.slice(0, 3); let message = `【地域】${address.state || ”}${address.city || ”}\n`; let level = ‘info’; if ([‘060’, ‘030’, ‘010’, ‘020’, ‘038’, ‘949’].includes(prefix)) { message += ‘この地域は凍上災リスクが非常に高いです。’; level = ‘danger’; } else if ([‘940’, ‘950’, ‘399’, ‘501’].includes(prefix)) { message += ‘この地域は中程度の凍上リスクがあります。’; level = ‘warning’; } else { message += ‘この地域の凍上リスクは比較的低いです。’; level = ‘success’; } messageArea.textContent = message; messageArea.className = `alert alert-${level}`; }); });