var sougnanData = []; fetch('/wp-content/uploads/alldata.json?_t=' + Date.now()) .then(function(r){ return r.json(); }) .then(function(data) { var cats = ['遭難','滑落','疲労']; sougnanData = data.filter(function(d) { return cats.indexOf(d.cat) !== -1 && d.year; }); renderList(); }) .catch(function() { document.getElementById('sougnan-list').innerHTML = '読み込みに失敗しました'; }); function renderList() { var yearV = document.getElementById('sougnan-year').value; var catV = document.getElementById('sougnan-cat').value; var statV = document.getElementById('sougnan-stat').value; var filtered = sougnanData.filter(function(d) { return (yearV === 'all' || String(d.year) === yearV) && (catV === 'all' || d.cat === catV) && (statV === 'all' || d.stat === statV); }); var top50 = filtered.slice(0, 50); document.getElementById('sougnan-count').textContent = '該当件数: ' + filtered.length + '件(最新50件表示)'; if (top50.length === 0) { document.getElementById('sougnan-list').innerHTML = '

該当する情報がありません

'; return; } var html = ''; top50.forEach(function(d) { var icon = d.stat === '死亡' ? '💀' : '⚠️'; var statColor = d.stat === '死亡' ? '#e74c3c' : '#27ae60'; // 座標からエリアを判定 function getArea(lat, lng) { if (lat >= 41.0 && lat <= 45.6 && lng >= 139.0 && lng <= 146.0) return 'hokkaido'; if (lat >= 37.0 && lat <= 41.6 && lng >= 138.5 && lng <= 142.5) return 'tohoku'; if (lat >= 34.5 && lat <= 37.5 && lng >= 138.0 && lng <= 141.0) return 'kanto'; if (lat >= 35.0 && lat <= 38.5 && lng >= 137.0 && lng <= 139.5) return 'koshinetsu'; if (lat >= 34.0 && lat <= 37.5 && lng >= 135.5 && lng <= 138.5) return 'chubu'; if (lat >= 33.0 && lat <= 36.0 && lng >= 134.0 && lng <= 136.5) return 'kinki'; if (lat >= 33.0 && lat <= 36.5 && lng >= 130.5 && lng <= 134.5) return 'chugoku'; if (lat >= 32.5 && lat <= 34.5 && lng >= 132.0 && lng <= 135.0) return 'shikoku'; if (lat >= 30.0 && lat <= 34.0 && lng >= 128.0 && lng <= 132.0) return 'kyushu'; return 'kanto'; } var area = getArea(d.lat, d.lng); var map_url = '/map/?area=' + area + '&lat=' + d.lat + '&lng=' + d.lng; html += '
'; html += '
'; html += '' + icon + ''; html += '
'; // タイトル・山名 html += '
'; html += '' + d.title + ''; html += '' + d.stat + ''; html += '
'; // メタ情報 html += '
'; html += d.year + '年 / ' + d.cat + ' / ' + d.age + d.sex; html += '
'; // 説明文 if (d.desc) { html += '
' + d.desc + '
'; } // リンクボタン html += '
'; html += '🗺 マップで見る'; if (d.link) { html += '🔗 ニュースソース'; } html += '
'; html += '
'; html += '
'; html += '
'; }); document.getElementById('sougnan-list').innerHTML = html; }