var countrydata_en = {
'AD' : 'Andorra', 'AE' : 'United Arab Emirates', 'AF' : 'Afghanistan', 'AG' : 'Antigua and Barbuda', 'AI' : 'Anguilla', 'AL' : 'Albania', 'AM' : 'Armenia', 'AO' : 'Angola', 'AQ' : 'Antarctica', 'AR' : 'Argentina', 'AS' : 'American Samoa', 'AT' : 'Austria', 'AU' : 'Australia', 'AW' : 'Aruba', 'AX' : 'Aland Islands', 'AZ' : 'Azerbaijan', 'BA' : 'Bosnia and Herzegovina', 'BB' : 'Barbados', 'BD' : 'Bangladesh', 'BE' : 'Belgium', 'BF' : 'Burkina Faso', 'BG' : 'Bulgaria', 'BH' : 'Bahrain', 'BI' : 'Burundi', 'BJ' : 'Benin', 'BL' : 'Saint Barthelemy', 'BM' : 'Bermuda', 'BN' : 'Brunei', 'BO' : 'Bolivia', 'BQ' : 'Bonaire, Sint Eustatius and Saba', 'BR' : 'Brazil', 'BS' : 'Bahamas', 'BT' : 'Bhutan', 'BV' : 'Bouvet Island', 'BW' : 'Botswana', 'BY' : 'Belarus', 'BZ' : 'Belize', 'CA' : 'Canada', 'CC' : 'Cocos (Keeling) Islands', 'CD' : 'Congo (Dem. Rep.)', 'CF' : 'Central African Republic', 'CG' : 'Congo', 'CH' : 'Switzerland', 'CI' : 'Cote Divoire', 'CK' : 'Cook Islands', 'CL' : 'Chile', 'CM' : 'Cameroon', 'CN' : 'China', 'CO' : 'Colombia', 'CR' : 'Costa Rica', 'CU' : 'Cuba', 'CV' : 'Cabo Verde', 'CW' : 'Curacao', 'CX' : 'Christmas Island', 'CY' : 'Cyprus', 'CZ' : 'Czechia', 'DE' : 'Germany', 'DJ' : 'Djibouti', 'DK' : 'Denmark', 'DM' : 'Dominica', 'DO' : 'Dominican Republic', 'DZ' : 'Algeria', 'EC' : 'Ecuador', 'EE' : 'Estonia', 'EG' : 'Egypt', 'EH' : 'Western Sahara', 'ER' : 'Eritrea', 'ES' : 'Spain', 'ET' : 'Ethiopia', 'FI' : 'Finland', 'FJ' : 'Fiji', 'FK' : 'Falkland Islands', 'FM' : 'Micronesia', 'FO' : 'Faroe Islands', 'FR' : 'France', 'GA' : 'Gabon', 'GB' : 'United Kingdom', 'GD' : 'Grenada', 'GE' : 'Georgia', 'GF' : 'French Guiana', 'GG' : 'Guernsey', 'GH' : 'Ghana', 'GI' : 'Gibraltar', 'GL' : 'Greenland', 'GM' : 'Gambia', 'GN' : 'Guinea', 'GP' : 'Guadeloupe', 'GQ' : 'Equatorial Guinea', 'GR' : 'Greece', 'GS' : 'South Georgia and the South Sandwich Islands', 'GT' : 'Guatemala', 'GU' : 'Guam', 'GW' : 'Guinea-Bissau', 'GY' : 'Guyana', 'HK' : 'Hong Kong', 'HM' : 'Heard Island and McDonald Islands', 'HN' : 'Honduras', 'HR' : 'Croatia', 'HT' : 'Haiti', 'HU' : 'Hungary', 'ID' : 'Indonesia', 'IE' : 'Ireland', 'IL' : 'Israel', 'IM' : 'Isle of Man', 'IN' : 'India', 'IO' : 'British Indian Ocean Territory', 'IQ' : 'Iraq', 'IR' : 'Iran', 'IS' : 'Iceland', 'IT' : 'Italy', 'JE' : 'Jersey', 'JM' : 'Jamaica', 'JO' : 'Jordan', 'JP' : 'Japan', 'KE' : 'Kenya', 'KG' : 'Kyrgyzstan', 'KH' : 'Cambodia', 'KI' : 'Kiribati', 'KM' : 'Comoros', 'KN' : 'Saint Kitts and Nevis', 'KP' : 'Korea, North', 'KR' : 'Korea, South', 'KW' : 'Kuwait', 'KY' : 'Cayman Islands', 'KZ' : 'Kazakhstan', 'LA' : 'Laos', 'LB' : 'Lebanon', 'LC' : 'Saint Lucia', 'LI' : 'Liechtenstein', 'LK' : 'Sri Lanka', 'LR' : 'Liberia', 'LS' : 'Lesotho', 'LT' : 'Lithuania', 'LU' : 'Luxembourg', 'LV' : 'Latvia', 'LY' : 'Libya', 'MA' : 'Morocco', 'MC' : 'Monaco', 'MD' : 'Moldova', 'ME' : 'Montenegro', 'MF' : 'St Martin', 'MG' : 'Madagascar', 'MH' : 'Marshall Islands', 'MK' : 'North Macedonia', 'ML' : 'Mali', 'MM' : 'Myanmar', 'MN' : 'Mongolia', 'MO' : 'Macao', 'MP' : 'Northern Mariana Islands', 'MQ' : 'Martinique', 'MR' : 'Mauritania', 'MS' : 'Montserrat', 'MT' : 'Malta', 'MU' : 'Mauritius', 'MV' : 'Maldives', 'MW' : 'Malawi', 'MX' : 'Mexico', 'MY' : 'Malaysia', 'MZ' : 'Mozambique', 'NA' : 'Namibia', 'NC' : 'New Caledonia', 'NE' : 'Niger', 'NF' : 'Norfolk Island', 'NG' : 'Nigeria', 'NI' : 'Nicaragua', 'NL' : 'Netherlands', 'NO' : 'Norway', 'NP' : 'Nepal', 'NR' : 'Nauru', 'NU' : 'Niue', 'NZ' : 'New Zealand', 'OM' : 'Oman', 'PA' : 'Panama', 'PE' : 'Peru', 'PF' : 'French Polynesia', 'PG' : 'Papua New Guinea', 'PH' : 'Philippines', 'PK' : 'Pakistan', 'PL' : 'Poland', 'PM' : 'Saint Pierre and Miquelon', 'PN' : 'Pitcairn Islands', 'PR' : 'Puerto Rico', 'PS' : 'Palestine', 'PT' : 'Portugal', 'PW' : 'Palau', 'PY' : 'Paraguay', 'QA' : 'Qatar', 'RE' : 'Reunion', 'RO' : 'Romania', 'RS' : 'Serbia', 'RU' : 'Russia', 'RW' : 'Rwanda', 'SA' : 'Saudi Arabia', 'SB' : 'Solomon Islands', 'SC' : 'Seychelles', 'SD' : 'Sudan', 'SE' : 'Sweden', 'SG' : 'Singapore', 'SH' : 'Saint Helena, Ascension and Tristan da Cunha', 'SI' : 'Slovenia', 'SJ' : 'Svalbard and Jan Mayen', 'SK' : 'Slovakia', 'SL' : 'Sierra Leone', 'SM' : 'San Marino', 'SN' : 'Senegal', 'SO' : 'Somalia', 'SR' : 'Suriname', 'SS' : 'South Sudan', 'ST' : 'Sao Tome and Principe', 'SV' : 'El Salvador', 'SX' : 'Sint Maarten', 'SY' : 'Syria', 'SZ' : 'Eswatini (Swaziland)', 'TC' : 'Turks and Caicos Islands', 'TD' : 'Chad', 'TF' : 'French Southern Territories', 'TG' : 'Togo', 'TH' : 'Thailand', 'TJ' : 'Tajikistan', 'TK' : 'Tokelau', 'TL' : 'Timor-Leste (East Timor)', 'TM' : 'Turkmenistan', 'TN' : 'Tunisia', 'TO' : 'Tonga', 'TR' : 'Turkey', 'TT' : 'Trinidad and Tobago', 'TV' : 'Tuvalu', 'TW' : 'Taiwan', 'TZ' : 'Tanzania', 'UA' : 'Ukraine', 'UG' : 'Uganda', 'UM' : 'United States Minor Outlying Islands', 'US' : 'US', 'UY' : 'Uruguay', 'UZ' : 'Uzbekistan', 'VA' : 'Holy See', 'VC' : 'Saint Vincent and the Grenadines', 'VE' : 'Venezuela', 'VG' : 'British Virgin Islands', 'VI' : 'Virgin Islands (U.S.)', 'VN' : 'VietNam', 'VU' : 'Vanuatu', 'WF' : 'Wallis and Futuna', 'WS' : 'Samoa', 'XK' : 'Kosovo', 'YE' : 'Yemen', 'YT' : 'Mayotte', 'ZA' : 'South Africa', 'ZM' : 'Zambia', 'ZW' : 'Zimbabwe', }
var countrydata_ja = { "IS": "アイスランド", "IE": "アイルランド", "AZ": "アゼルバイジャン", "AF": "アフガニスタン", "US": "アメリカ合衆国", "AS": "アメリカ領サモア", "VI": "アメリカ領バージン諸島", "AE": "アラブ首長国連邦", "DZ": "アルジェリア", "AR": "アルゼンチン", "AW": "アルバ", "AL": "アルバニア", "AM": "アルメニア", "AI": "アンギラ", "AO": "アンゴラ", "AG": "アンティグア・バーブーダ", "AD": "アンドラ", "YE": "イエメン", "GB": "イギリス", "IO": "イギリス領インド洋地域", "VG": "イギリス領バージン諸島", "IL": "イスラエル", "IT": "イタリア", "IQ": "イラク", "IR": "イラン・イスラム共和国", "IN": "インド", "ID": "インドネシア", "UG": "ウガンダ", "UA": "ウクライナ", "UZ": "ウズベキスタン", "UY": "ウルグアイ", "EC": "エクアドル", "EG": "エジプト", "EE": "エストニア", "SZ": "エスワティニ", "ET": "エチオピア", "ER": "エリトリア", "SV": "エルサルバドル", "AU": "オーストラリア", "AT": "オーストリア", "AX": "オーランド諸島", "OM": "オマーン", "NL": "オランダ", "GH": "ガーナ", "GG": "ガーンジー島", "GY": "ガイアナ", "KZ": "カザフスタン", "QA": "カタール", "UM": "合衆国領有小離島", "CA": "カナダ", "CV": "カボベルデ", "GA": "ガボン", "CM": "カメルーン", "GM": "ガンビア", "KH": "カンボジア", "MK": "北マケドニア共和国", "MP": "北マリアナ諸島", "GN": "ギニア", "GW": "ギニアビサウ", "CY": "キプロス", "CU": "キューバ", "CW": "キュラソー", "GR": "ギリシャ", "KI": "キリバス", "KG": "キルギス", "GT": "グアテマラ", "GP": "グアドループ島", "GU": "グアム", "KW": "クウェート", "CK": "クック諸島", "GL": "グリーンランド", "CX": "クリスマス島", "GD": "グレナダ", "HR": "クロアチア", "KY": "ケイマン諸島", "KE": "ケニア", "CI": "コートジボワール", "CC": "ココス(キーリング)諸島", "CR": "コスタリカ", "KM": "コモロ", "CO": "コロンビア", "CG": "コンゴ共和国", "CD": "コンゴ民主共和国", "SA": "サウジアラビア", "GS": "サウスジョージア・サウスサンドウィッチ諸島", "WS": "サモア", "ST": "サントメ・プリンシペ", "BL": "サン・バルテルミー島", "ZM": "ザンビア", "PM": "サンピエール・ミクロン島", "SM": "サンマリノ", "MF": "サン・マルタン島", "SL": "シエラレオネ", "DJ": "ジブチ", "GI": "ジブラルタル", "JE": "ジャージー島", "JM": "ジャマイカ", "GE": "ジョージア", "SY": "シリア・アラブ共和国", "SG": "シンガポール", "SX": "シント・マールテン(オランダ領)", "ZW": "ジンバブエ", "CH": "スイス", "SE": "スウェーデン", "SD": "スーダン", "SJ": "スバールバル諸島・ヤンマイエン島", "ES": "スペイン", "SR": "スリナム", "LK": "スリランカ", "SK": "スロバキア", "SI": "スロベニア", "SC": "セーシェル", "GQ": "赤道ギニア", "SN": "セネガル", "RS": "セルビア", "KN": "セントクリストファー・ネビス", "VC": "セントビンセント・グレナディーン", "SH": "セントヘレナ・アセンションおよびトリスタンダクーニャ", "LC": "セントルシア", "SO": "ソマリア", "SB": "ソロモン諸島", "TC": "タークスカイコス諸島", "TH": "タイ", "KR": "韓国", "TW": "台湾", "TJ": "タジキスタン", "TZ": "タンザニア", "CZ": "チェコ", "TD": "チャド", "CF": "中央アフリカ", "CN": "中国", "TN": "チュニジア", "KP": "北朝鮮", "CL": "チリ", "TV": "ツバル", "DK": "デンマーク", "DE": "ドイツ", "TG": "トーゴ", "TK": "トケラウ諸島", "DO": "ドミニカ共和国", "DM": "ドミニカ", "TT": "トリニダード・トバゴ", "TM": "トルクメニスタン", "TR": "トルコ", "TO": "トンガ", "NG": "ナイジェリア", "NR": "ナウル", "NA": "ナミビア", "AQ": "南極", "NU": "ニウエ", "NI": "ニカラグア", "NE": "ニジェール", "JP": "日本", "EH": "西サハラ", "NC": "ニューカレドニア", "NZ": "ニュージーランド", "NP": "ネパール", "NF": "ノーフォーク島", "NO": "ノルウェー", "HM": "ハード島・マクドナルド諸島", "BH": "バーレーン", "HT": "ハイチ", "PK": "パキスタン", "VA": "バチカン市国", "PA": "パナマ", "VU": "バヌアツ", "BS": "バハマ", "PG": "パプアニューギニア", "BM": "バミューダ諸島", "PW": "パラオ", "PY": "パラグアイ", "BB": "バルバドス", "PS": "パレスチナ", "HU": "ハンガリー", "BD": "バングラデシュ", "TL": "東ティモール", "PN": "ピトケアン", "FJ": "フィジー", "PH": "フィリピン", "FI": "フィンランド", "BT": "ブータン", "BV": "ブーベ島", "PR": "プエルトリコ", "FO": "フェロー諸島", "FK": "フォークランド(マルビナス)諸島", "BR": "ブラジル", "FR": "フランス", "GF": "フランス領ギアナ", "PF": "フランス領ポリネシア", "TF": "フランス領南方・南極地域", "BG": "ブルガリア", "BF": "ブルキナファソ", "BN": "ブルネイ・ダルサラーム", "BI": "ブルンジ", "VN": "ベトナム", "BJ": "ベナン", "VE": "ベネズエラ・ボリバル共和国", "BY": "ベラルーシ", "BZ": "ベリーズ", "PE": "ペルー", "BE": "ベルギー", "PL": "ポーランド", "BA": "ボスニア・ヘルツェゴビナ", "BW": "ボツワナ", "BQ": "ボネール、シント・ユースタティウスおよびサバ", "BO": "ボリビア多民族国", "PT": "ポルトガル", "HK": "香港", "HN": "ホンジュラス", "MH": "マーシャル諸島", "MO": "マカオ", "MG": "マダガスカル", "YT": "マヨット島", "MW": "マラウイ", "ML": "マリ", "MT": "マルタ", "MQ": "マルティニク", "MY": "マレーシア", "IM": "マン島", "FM": "ミクロネシア連邦", "ZA": "南アフリカ共和国", "SS": "南スーダン", "MM": "ミャンマー", "MX": "メキシコ", "MU": "モーリシャス", "MR": "モーリタニア", "MZ": "モザンビーク", "MC": "モナコ", "MV": "モルディブ", "MD": "モルドバ共和国", "MA": "モロッコ", "MN": "モンゴル", "ME": "モンテネグロ", "MS": "モントセラト", "JO": "ヨルダン", "LA": "ラオス人民民主共和国", "LV": "ラトビア", "LT": "リトアニア", "LY": "リビア", "LI": "リヒテンシュタイン", "LR": "リベリア", "RO": "ルーマニア", "LU": "ルクセンブルク", "RW": "ルワンダ", "LS": "レソト", "LB": "レバノン", "RE": "レユニオン", "RU": "ロシア", "WF": "ワリスフュチュナ", }
var precolor; function countryover(tld) {
var wtc = null; var wtd = null; var wc = null; var wd = null;
precolor = $('#g' + tld).css('fill'); $('#g' + tld).css('fill', '#e4ab5a');
country = getcountryname(tld); if(wmapdata[tld]) { if(!country) country = wmapdata[tld]['country']; wtc = wmapdata[tld]['confirmed']; wtd = wmapdata[tld]['deceased']; wtr = wmapdata[tld]['recovered']; wc = wmapdata[tld]['confirmedsum']; wd = wmapdata[tld]['deceasedsum']; wr = wmapdata[tld]['recoveredsum']; } else { wc = wd = wr = wtc = wtd = wtr = '不明'; if(!country) country = '不明'; }
// $('#maptooltip-w').html(country + '(' + tld + ')' + '
' + '日感染者:' + wtc + ' / ' + '日死者数:' + wtd + '
' + '感染者累計:' + wc + ' / ' + '死者数累計:' + wd);
// $("#maptooltip-w").css("display", "block");
$('#mapinfo-w').html('' + country + '(' + tld + ')' + '
' + '日感染者:' + wtc + ' / ' + '日死者数:' + wtd + '
' + '感染者累計:' + wc + ' / ' + '死者数累計:' + wd);
$('#mapinfo-w').draggable();
// $("#mapinfo-w").css("display", "none");
/*
grect = document.getElementById('g' + tld)
var clientRect = grect.getBoundingClientRect() ;
var x = clientRect.left ;
var y = clientRect.top ;
*/
$('#mapinfo-w').css("display", 'block');
}
$(document).on('mousemove', '.worldmap', function (e) { });
function getcountryname(ccode) { var country = countrydata_ja[ccode]; //console.log(ccode, country); if(!country) country = countrydata_en[ccode]; if(!country) country = null; return(country); }
function countryout(tld) { $("#maptooltip-w").css("display", "none"); $("#map-w").css("cursor", "move"); $('#g' + tld).css('fill', precolor); }
function countryclick(tld) { }
var cw = document.getElementById('map-w').clientWidth; mwidth = parseInt(cw / 1.3); mheight = mwidth * 0.625;
var map=new WorldMap({ element : 'worldmap', width : mwidth, height: mheight,
overhandler : 'countryover', outhandler : 'countryout', clickhandler :'countryclick' });
var clicking = false; var move_x; var move_y; var scroll_x; var scroll_y; var X; var Y; $('#worldmap').mousedown(function(e){ clicking = true; move_x=e.pageX; move_y=e.pageY; scroll_x= $('#worldmap').scrollLeft() ; scroll_y= $('#worldmap').scrollTop() ; });
$(document).mouseup(function(){ clicking = false; })
$('#worldmap').mousemove(function(e){ if(clicking == false) return;
X = move_x - e.pageX; Y = move_y - e.pageY;
$('#worldmap').scrollLeft(scroll_x+ X); $('#worldmap').scrollTop(scroll_y + Y); });
svgPanZoom('#worldsvgmap', { zoomEnabled: true, controlIconsEnabled: true, mouseWheelZoomEnabled: false, fit: true, center: true, });
var wurl; var wdate; var wdata; var wmapdata = []; var wupdated; var wdone = false; var date = new Date(); var y = date.getFullYear(); var m = ('0' + (date.getMonth() + 1)).slice(-2); var d = ('0' + (date.getDate()-1)).slice(-2); var yesterday = y + '-' + m + '-' + d; wdate = yesterday; getwdata(yesterday);
function getwdata(date) { wurl = 'https://api.covid19api.com/summary'; var xhr = new XMLHttpRequest(); xhr.open("GET", wurl, true); xhr.onloadend = function() { if(xhr.status == 404) { } } xhr.onload = function(){ wdata = JSON.parse(this.responseText); //console.log(wdata); setwdata(); } xhr.onerror = function() { console.log('error'); } xhr.send(null); }
function setwdata() { var griddata = []; wdone = true; confirmedsum = wdata['Global']['TotalConfirmed']; deceasedsum = wdata['Global']['TotalDeaths']; recoveredsum = wdata['Global']['TotalRecovered']; confirmed = wdata['Global']['NewConfirmed']; deceased= wdata['Global']['NewDeaths']; recovered= wdata['Global']['NewRecovered']; deathrate = (deceasedsum/confirmedsum) / 100; deathrate = deathrate.toFixed(2);
$('#overview-w').html('
- ' + '
- 感染者 ' + confirmedsum.toLocaleString() + '
(' + '+' + confirmed.toLocaleString() + '/日) - 死亡者 ' + deceasedsum.toLocaleString() + '
(+' + deceased.toLocaleString() + '/日) - 回復者 ' + recoveredsum.toLocaleString() + '
(+' + recovered.toLocaleString() + '/日)
' + '
' + '
' + '
');
for(i = 0; i < wdata['Countries'].length; i++) { ccode = wdata['Countries'][i]['CountryCode']; country = wdata['Countries'][i]['Country']; ccode = wdata['Countries'][i]['CountryCode']; confirmedsum = wdata['Countries'][i]['TotalConfirmed']; deceasedsum = wdata['Countries'][i]['TotalDeaths']; recoveredsum = wdata['Countries'][i]['TotalRecovered']; confirmed = wdata['Countries'][i]['NewConfirmed']; deceased = wdata['Countries'][i]['NewDeaths']; recovered = wdata['Countries'][i]['NewRecovered']; if(deceasedsum && confirmedsum) { deathrate = (deceasedsum/confirmedsum) * 100; deathrate = deathrate.toFixed(2); } else { deathrate = 0; } rc = i+1; cname = getcountryname(ccode); if(!cname) cname = country; cname = cname + '(' + ccode + ')'; griddata[i] = { name:cname, newlyConfirmed:confirmed,confirmed:confirmedsum,newlyDeceased:deceased,deaths:deceasedsum,newlyRecovered:recovered,recovered:recoveredsum,deathRate:deathrate+'%'}; wmapdata[ccode] = { 'country': country, 'ccode': ccode, 'confirmed': confirmed, 'deceased': deceased, 'recovered': recovered,'confirmedsum': confirmedsum, 'deceasedsum': deceasedsum, 'recoveredsum': recoveredsum } var ac = confirmed; if(!ac) newcolor = '#ffffff'; else if(ac < 10) newcolor = '#fefefe'; else if(ac < 50) newcolor = '#cecece'; else if(ac < 100) newcolor = '#cecece'; else if(ac < 500) newcolor = '#aabfd5'; else if(ac < 1000) newcolor = '#8daac7'; else if(ac < 3000) newcolor = '#7295b8'; else if(ac < 5000) newcolor = '#7295b8'; else if(ac < 10000) newcolor = '#5580aa'; else if(ac < 30000) newcolor = '#476a8d'; else if(ac < 50000) newcolor = '#385572'; else if(ac < 100000) newcolor = '#2b4055'; else if(ac >= 100000) newcolor = '#1d2b38'; else newcolor = '#ccc'; $('#g' + ccode).css('fill', newcolor); }
new AnyGrids({ container: 'covidgrids-w', data:griddata, pagination: { perPage: 200 }, rows: { }, columns: [ {field: 'name', title: '地域', type: 'string', width: 150, sortable: true}, {field: 'deaths', title: '死亡者累計', type: 'string', width: 100, sortable: true}, {field: 'confirmed', title: '感染者累計', type: 'string', width: 100, sortable: true, orders: 9999}, {field: 'newlyConfirmed', title: '感染者/日', type: 'string', width: 100, sortable: true}, {field: 'newlyDeceased', title: '死亡者/日', type: 'string', width: 100, sortable: true}, {field: 'deathRate', title: '致死率', type: 'string', width: 100, sortable: true}, {field: 'newlyRecovered', title: '回復者/日', type: 'string', width: 100, sortable: true}, {field: 'recovered', title: '回復者累計', type: 'string', width: 100, sortable: true}, ] }); setTimeout(function() { $('#covidgrids-w .grid__cell')[2].click(); $('#covidgrids-w .grid__cell')[2].click(); }, 100); }
$( ".select-region input" ).checkboxradio(); $( ".select-mode input" ).checkboxradio(); $( ".select-mode-w input" ).checkboxradio();
$( ".select-region input" ).click(function() { var id = $(this).attr("id"); if(id == 'region-world') { $('#tab-world').show(); $('#tab-japan').hide(); $('#overview-w').show(); $('#overview').hide(); } else if(id == 'region-japan') { $('#tab-world').hide(); $('#tab-japan').show(); $('#overview-w').hide(); $('#overview').show(); } });
$( ".select-mode input" ).click(function() { var id = $(this).attr("id"); if(id == 'mode-all') { $('#tab-chart').show(); $('#tab-map').show(); $('#tab-grid').show(); $('#tab-news').show(); $('#tab-social').show(); } else if(id == 'mode-chart') { $('#tab-chart').show(); $('#tab-map').hide(); $('#tab-grid').hide(); $('#tab-news').hide(); $('#tab-social').hide(); } else if(id == 'mode-map') { $('#tab-chart').hide(); $('#tab-map').show(); $('#tab-grid').hide(); $('#tab-news').hide(); $('#tab-social').hide(); } else if(id == 'mode-grid') { $('#tab-chart').hide(); $('#tab-map').hide(); $('#tab-grid').show(); $('#tab-news').hide(); $('#tab-social').hide(); } else if(id == 'mode-news') { $('#tab-chart').hide(); $('#tab-map').hide(); $('#tab-grid').hide(); $('#tab-news').show(); $('#tab-social').hide(); } else if(id == 'mode-social') { $('#tab-chart').hide(); $('#tab-map').hide(); $('#tab-grid').hide(); $('#tab-news').hide(); $('#tab-social').show(); }
if(id == 'mode-all') { $('.cvtitle').show(); } else{ $('.cvtitle').hide(); }
});
$('#tab-world').hide(); $('#tab-chart').show(); $('#tab-map').show(); $('#tab-grid').show(); $('#tab-news').show(); $('#tab-social').show();
var debug = false; var coviddata; var alldate = Array(); var dailydata = Array(); var prefdata = Array(); var griddata = Array(); var japandata = Array(); var data =Array(); var tweetdata = Array(); var newsdata = Array(); var prefseq = Array(); var lastupdated; var latest = false; var curregion; var skin = 'light'; var datestr = '';
//var getfile = "https://reportal.net/misc/test/getfile.php"; var getfile = "https://ojiya-chijimi.jp/misc/code/getfile.php";
var date = new Date(); datestr = date.getFullYear() + '-' + ('0' + (date.getMonth() + 1)).slice(-2) + '-' + ('0' + date.getDate()).slice(-2);
var populations = { '全国':127094745, '北海道':5248552, '青森県':1246138, '岩手県':1226430, '宮城県':2303160, '秋田県':965968, '山形県':1077057, '福島県':1847950, '茨城県':2868041, '栃木県':1942312, '群馬県':1937626, '埼玉県':7337330, '千葉県':6279026, '東京都':13942856, '神奈川県':9200166, '新潟県':2222004, '富山県':1042998, '石川県':1137181, '福井県':767742, '山梨県':812056, '長野県':2049023, '岐阜県':1988931, '静岡県':3639226, '愛知県':7552873, '三重県':1779770, '滋賀県':1413959, '京都府':2583140, '大阪府':8823453, '兵庫県':5463609, '奈良県':1331330, '和歌山県':923721, '鳥取県':555663, '島根県':673891, '岡山県':1891346, '広島県':2807987, '山口県':1355495, '徳島県':728633, '香川県':956069, '愛媛県':1338811, '高知県':697674, '福岡県':5110113, '佐賀県':814211, '長崎県':1325205, '熊本県':1746740, '大分県':1134431, '宮崎県':1072077, '鹿児島県':1599984, '沖縄県':1454184, }; for (let key in populations) { $("#rgselect").append(""); }; $(document).on("change", "#rgselect", function(){ curregion = $(this).val(); setchart(startpoint, endpoint, curregion); });
var curl = 'https://data.covid19japan.com/summary/latest.json'; var xhr = new XMLHttpRequest(); xhr.open("GET", curl, true); xhr.onload = function(){ if($('#toTop')[0]) $('#toTop').remove(); coviddata = JSON.parse(this.responseText); if(debug) console.log(coviddata); showcovid(coviddata); setchart(); } xhr.send(null);
function showcovid(coviddata) {
prefdata = coviddata['prefectures']; dailydata = coviddata['daily']; lastupdated = dailydata[dailydata.length-1]['date'];
if(lastupdated == datestr) { latest = true; }
if(latest) { var confirmed = dailydata[dailydata.length-1]['confirmed']; var confirmedyesterday = dailydata[dailydata.length-2]['confirmed']; var deceased = dailydata[dailydata.length-1]['deceased']; var deceasedyesterday = dailydata[dailydata.length-2]['deceased']; var critical = dailydata[dailydata.length-1]['critical']; var criticalyesterday = dailydata[dailydata.length-2]['critical']; var active = dailydata[dailydata.length-1]['active']; var activeyesterday = dailydata[dailydata.length-2]['active']; var recovered = dailydata[dailydata.length-1]['recovered']; var recoveredyesterday = dailydata[dailydata.length-2]['recovered']; var tested = dailydata[dailydata.length-1]['tested']; var testedyesterday = dailydata[dailydata.length-2]['tested']; } else { var confirmed = 0; var confirmedyesterday = dailydata[dailydata.length-1]['confirmed']; var deceased = 0; var deceasedyesterday = dailydata[dailydata.length-1]['deceased']; var critical = 0; var criticalyesterday = dailydata[dailydata.length-1]['critical']; var active = 0; var activeyesterday = dailydata[dailydata.length-1]['active']; var recovered = 0; var recoveredyesterday = dailydata[dailydata.length-1]['recovered']; var tested = 0; var testedyesterday = dailydata[dailydata.length-1]['tested']; } var confirmedsum = dailydata[dailydata.length-1]['confirmedCumulative']; var confirmed3d = dailydata[dailydata.length-2]['confirmedAvg3d']; var confirmed7d = dailydata[dailydata.length-2]['confirmedAvg7d']; var deceasedsum = dailydata[dailydata.length-1]['deceasedCumulative']; var criticalsum = dailydata[dailydata.length-1]['criticalCumulative']; var activesum = dailydata[dailydata.length-1]['activeCumulative']; var recoveredsum = dailydata[dailydata.length-1]['recoveredCumulative']; var testedsum = dailydata[dailydata.length-1]['testedCumulative'];
$('#overview').html('
- ' + '
- 感染者 ' + confirmedsum + '
(' + '本日' + confirmed + ' / 昨日' + confirmedyesterday + ') - 死亡者 ' + deceasedsum + '
(本日' + deceased + ' / 昨日' + deceasedyesterday + ') - 重症者 ' + criticalsum + '
(本日' + critical + ' / 昨日' + criticalyesterday + ') - 現感染者 ' + activesum + '
(本日' + active + ' / 昨日' + activeyesterday + ') - 回復者 ' + recoveredsum + '
(本日' + recovered + ' / 昨日' + recoveredyesterday + ') - 検査数 ' + testedsum + '
(本日' + tested + ' / 昨日' + testedyesterday + ') - 現感染者 ' + activesum + '
回復者 ' + recoveredsum + ' - 検査数最新 ' + tested + '
検査数累計 ' + testedsum + ' - 3日平均 ' + confirmed3d + '
7日平均 ' + confirmed7d + '
' + '
' + '
' + '
' + '
' + '
');
//+ '
' + '
' + '
' + '
');
latest = true;
for( i = 1; i < dailydata.length; i++) {
alldate[i] = dailydata[i]['date'];
}
for( i = 0; i < prefdata.length; i++) {
var prefname = prefdata[i]['name_ja'];
var population = parseInt(populations[prefname]);
var actives = prefdata[i]['dailyActive'];
var _dcc = prefdata[i]['dailyConfirmedCount'];
var dcc = Array();
var _ddc = prefdata[i]['dailyDeceasedCount'];
var ddc = Array();
var k = 0;
dcc[k] = 0;
if(latest) {
var ctoday = prefdata[i]['newlyConfirmed'];
var cyesterday = prefdata[i]['yesterdayConfirmed'];
var dtoday = prefdata[i]['newlyDeceased'];
var dyesterday = prefdata[i]['yesterdayDeceased'];
}
else {
var ctoday = 0;
var cyesterday = prefdata[i]['newlyConfirmed'];
var dtoday = 0;
var dyesterday = prefdata[i]['newlyDeceased'];
}
if(actives) {
for(j=0; j
var activedata;
for (let key in populations) { prefname = key; code = count; if((count++ || (prefname != '全国')) && prefname) { ac = prefseq[prefname]['active'];
if(!ac) newcolor = '#ffffff'; else if(ac < 10) newcolor = '#fefefe'; else if(ac < 50) newcolor = '#cecece'; else if(ac < 100) newcolor = '#cecece'; else if(ac < 300) newcolor = '#aabfd5'; else if(ac < 500) newcolor = '#8daac7'; else if(ac < 1000) newcolor = '#7295b8'; else if(ac < 2000) newcolor = '#7295b8'; else if(ac < 3000) newcolor = '#5580aa'; else if(ac < 4000) newcolor = '#476a8d'; else if(ac < 5000) newcolor = '#385572'; else if(ac < 6000) newcolor = '#2b4055'; else if(ac > 6000) newcolor = '#1d2b38';
var info = { "code": code, "name": prefname, "color":newcolor, "hoverColor":"#c78d8d", "prefectures":[code] }; areas.push(info); } };
var chartchange = false;
var mm = $("#map").japanMap(
{
areas : areas,
selection : "prefecture",
borderLineWidth: 0.5,
drawsBoxLine : false,
movesIslands : true,
showsAreaName : false,
showsPrefectureName: false,
width: mapwidth,
font : "MS Mincho",
fontSize : 12,
fontColor : "areaColor",
fontShadowColor : "black",
onSelect:function(mapdata){
},
onHover:function(mapdata){
setchart(startpoint, endpoint, mapdata.name);
$('#rgselect').val(mapdata.name);
chartchange = true;
if(latest) {
var ctoday = japandata[mapdata.name].newlyConfirmed;
var cyesterday = japandata[mapdata.name].yesterdayConfirmed;
var dtoday = japandata[mapdata.name].newlyDeceased;
var dyesterday = japandata[mapdata.name].yesterdayDeceased;
}
else {
var ctoday = 0;
var cyesterday = japandata[mapdata.name].yesterdayConfirmed;
var dtoday = 0;
var dyesterday = japandata[mapdata.name].yesterdayDeceased;
}
$("#mapinfo").html("" + mapdata.name + "" + "
" + "本日" + ctoday + " / " + "昨日" + cyesterday + " / 現在" + japandata[mapdata.name].active + " / 累計" + japandata[mapdata.name].confirmed);
}
});
tcw = $('#tab-chart').css('height');
tmw = $('#tab-map').css('height');
if(tcw > tmw)
$('#tab-map').css('height', tcw);
else if(tcw < tmw)
$('#tab-chart').css('height', tmw);
});
$('#map').hover(
function() {
},
function() {
setchart(startpoint, endpoint, '全国');
$('#rgselect').val('全国');
$("#maptooltip").css("display", "none");
}
);
$("#mapinfo").html("東京都" + "
" + "本日" + japandata['東京都'].newlyConfirmed + " / " + "昨日" + japandata['東京都'].yesterdayConfirmed + " / 現在" + japandata['東京都'].active + " / 累計" + japandata['東京都'].confirmed);
var gurl = 'https://news.google.com/rss/search?hl=ja&ie=UTF-8&oe=UTF-8&q=%E3%82%B3%E3%83%AD%E3%83%8A&gl=JP&ceid=JP:ja&num=20'; // var gurl = 'https://news.google.com/rss/search?hl=ja&ie=UTF-8&oe=UTF-8&q=%E3%83%AF%E3%82%AF%E3%83%81%E3%83%B3&gl=JP&ceid=JP:ja&num=30'; var gsettings = { "async": true, "crossDomain": true, "url": getfile, "method": "GET", "data":{ url: gurl, mode: 'rss' }, "headers": { } }
var newshtml;
$.ajax(gsettings).done(function (covidnews) {
//$('#covidnews').html(covidnews);
var newsdom = $.parseHTML(covidnews);
newsdata = Array();
for(i = 0; i < newsdom[1]['childNodes'].length; i++) {
newshtml = newsdom[1]['childNodes'][i]['innerHTML'];
newshtml = newshtml.replace('href', 'target=_blank href');
newshtml = newshtml.replace('feed-title', 'feed-title fade-in-news');
newsdata.push(newshtml);
}
shownews();
if(newsdata)
setInterval("shownews()", 8000);
});
var tsettings = {
"async": true,
"dataType": "html",
"crossDomain": true,
"url": getfile,
"method": "GET",
"data": { mode: 'twitter' },
"headers": {
}
}
$.ajax(tsettings).done(function (data) {
data = data.replace('}});', '}}');
data = unescapeUnicode(data);
var html = "";
var ctdata = JSON.parse(data);
for( i = 0; i < ctdata['statuses'].length; i++) {
var cttext = ctdata['statuses'][i]['text'];
var ctid = ctdata['statuses'][i]['id_str'];
var ctname = ctdata['statuses'][i]['user']['name'];
var ctsname = ctdata['statuses'][i]['user']['screen_name'];
var ctimage = ctdata['statuses'][i]['user']['profile_image_url'];
ctimage = ctimage.replace('http:', 'https:');
var ctfollower = ctdata['statuses'][i]['user']['followers_count'];
var ctuserid = ctdata['statuses'][i]['user']['id'];
var ctdate = ctdata['statuses'][i]['created_at'];
var ctfav = ctdata['statuses'][i]['favorite_count'];
var ctrt = ctdata['statuses'][i]['retweet_count'];
// var ctlink = ctdata['statuses'][i]['entities']['urls'][0]['expanded_url'];
var ctlink = "https://twitter.com/" + ctsname + "/status/" + ctid;
if(cttext.match(/^RT/) || cttext.match(/^@/)) {
continue;
}
var line = "" + " " + ctname + " (フォロワー" + ctfollower + "人)
" + cttext + "";
// line = line + "
★ " + ctfav + " RT:" + ctrt;
html = html + line + "
"; tweetdata.push(line); } $('#covidtweet').html(html); //console.log(tweetdata); showtweet(); if(tweetdata) setInterval("showtweet()", 12000); }); showtweet(); }
var newscount = 0; var tweetcount = 0; function shownews(){ // $('#newsbox').html('
'); // $('.lednews span').attr('class', 'active'); // $('.lednews span').html(newsdata[newscount]); if(newscount == newsdata.length) newscount = 0; $('#newsbox').html(newsdata[newscount]); newscount++; }
function showtweet() { if(tweetcount == tweetdata.length) tweetcount = 0; $('#tweetbox').html(tweetdata[tweetcount]); tweetcount++; }
var deceasednum = []; var confirmednum = []; var confirmedcum = []; var activenum = []; var recoverednum = []; var datenum = []; var startpoint = 0; var endpoint = 1;
var ctx = document.getElementById('cvchart').getContext('2d'); var cvchart = null; ctx.canvas.height = 180;
var sliderflg = false; function setchart(st, ed, rg) { var _confirmedcum = 0; var confirmednum = Array(); var confirmedcum = Array(); var deceasednum = Array(); var recoverednum = Array(); var activenum = Array(); var datenum = Array(); totalnum = dailydata.length - 1;
var fgcolor,gcolor1,gcolor2,gcolor3; if(skin == 'light') { fgcolor = '#333'; gcolor1 = '#7295b8'; gcolor2 = '#a03c44'; gcolor3 = '#018a9a'; } else { fgcolor = '#fff'; gcolor1 = '#7da6cb'; gcolor2 = '#d16b16'; gcolor3 = '#51a1a2'; }
if(!st) startpoint = totalnum - 30; else startpoint = st; if(!ed) endpoint = totalnum; else endpoint = ed; var startdate = dailydata[startpoint]['date']; var enddate = dailydata[endpoint]['date'];
var j = 0; var dccseq; var ddcseq;
if(rg && (rg != '全国')) { if((prefseq[rg]['dcc'].length - dailydata.length) == 22) adjust = 1; else adjust = 0; // console.log(prefseq[rg]['dcc'].length); // console.log(totalnum-1); // console.log(prefseq[rg]['dcc'].length - (totalnum-1)); dccseq = prefseq[rg]['dcc'].slice(prefseq[rg]['dcc'].length - (totalnum+1+adjust), prefseq[rg]['dcc'].length+adjust); ddcseq = prefseq[rg]['ddc'].slice(prefseq[rg]['ddc'].length - (totalnum+1+adjust), prefseq[rg]['ddc'].length+adjust); }
if(!rg || (rg == '全国')) {
for( i = startpoint+1; i <= endpoint; i++) {
deceasednum[j] = dailydata[i]['deceased'];
activenum[j] = dailydata[i]['active'];
recoverednum[j] = dailydata[i]['recovered'];
confirmednum[j] = dailydata[i]['confirmed'];
confirmedcum[j] = dailydata[i]['confirmedCumulative'];
datenum[j] = dailydata[i]['date'];
j++;
}
}
else {
confirmednum = dccseq.slice(startpoint+1, endpoint+1);
deceasednum = ddcseq.slice(startpoint+1, endpoint+1);
activenum = prefseq[rg]['dac'].slice(startpoint, endpoint - startpoint);
recoverednum = prefseq[rg]['drc'].splice(startpoint, endpoint - startpoint);
j = 0;
startnum = 0;
for( i = 0; i < startpoint; i++) {
startnum = startnum + dccseq[i];
}
_confirmedcum = startnum;
j = 0;
for( i = startpoint+1; i <= endpoint; i++) {
confirmedcum[j] = _confirmedcum + dccseq[i];
_confirmedcum = confirmedcum[j];
datenum[j] = dailydata[i]['date'];
j++;
}
}
/*
console.log(datenum);
console.log(confirmednum);
console.log(deceasednum);
console.log(confirmedcum);
*/
$( "#amount" ).val( datenum[0] + " - " + datenum[j-1]);
cmax = Math.max.apply(null, confirmednum);
ccmax = Math.max.apply(null, confirmedcum);
dmax = Math.max.apply(null, deceasednum);
amax = Math.max.apply(null, activenum);
rmax = Math.max.apply(null, recoverednum);
for(i = 0; i < datenum.length; i++) {
datenum[i] = datenum[i].replace('2020-', '');
datenum[i] = datenum[i].replace('2021-', '');
datenum[i] = datenum[i].replace('-', ' / ');
}
var cvdata = {
labels: datenum,
datasets: [{
label: '新規感染者',
type: "bar",
fill: true,
data: confirmednum,
borderColor: gcolor1,
backgroundColor: gcolor1,
yAxisID: "y-axis-1",
}, {
label: '死亡者数',
type: "line",
fill: false,
data: deceasednum,
borderWidth: 1,
backgroundColor: gcolor2,
borderColor: gcolor2,
pointHoverBackgroundColor: "#DE4E33",
pointHoverBorderColor: "#DE4E33",
yAxisID: "y-axis-2",
}, {
label: '感染者累計',
type: "line",
fill: false,
data: confirmedcum,
borderColor: gcolor3,
backgroundColor: gcolor3,
yAxisID: "y-axis-3",
}]
};
var cvoptions = {
animation: false,
legend: {
labels: {
fontColor: fgcolor,
},
tooltips: {
},
mode: 'nearest',
intersect: false,
},
elements: {
point:{
radius: 0
}},
responsive: true,
scales: {
yAxes: [{
id: "y-axis-1",
type: "linear",
position: "left",
ticks: {
max: cmax,
min: 0,
fontColor: gcolor1,
},
}, {
id: "y-axis-2",
type: "linear",
position: "right",
ticks: {
max: dmax,
min: 0,
fontColor: gcolor2,
},
}, {
id: "y-axis-3",
type: "linear",
position: "right",
ticks: {
max: ccmax,
min: 0,
fontColor: gcolor3,
},
}],
xAxes: [{
scaleLabel: {
display: false,
labelString: '横軸ラベル',
fontColor: fgcolor,
fontSize: 16
},
gridLines: {
fontColor: fgcolor,
},
ticks: {
fontColor: fgcolor,
}
}],
gridLines: {
drawOnChartArea: false,
},
},
};
if(cvchart) {
_cvchart = cvchart;
cvchart = new Chart(ctx, {type: 'bar', data: cvdata, options: cvoptions});
_cvchart.destroy();
_cvchart = null;
cvchart.update();
}
else {
cvchart = new Chart(ctx, {
type: 'bar',
scaleFontColor: "white",
data: cvdata,
options: cvoptions
});
}
$( "#cvslider" ).slider({
range: true,
min: 1,
max: totalnum,
values: [ startpoint, endpoint ],
slide: function( event, ui ) {
startpoint = ui.values[0];
endpoint = ui.values[1];
$( "#amount" ).val( alldate[startpoint] + " - " + alldate[endpoint]);
setchart(startpoint, endpoint, curregion);
},
stop: function( event, ui ) {
startpoint = ui.values[0];
endpoint = ui.values[1];
setchart(startpoint, endpoint, curregion);
}
}).change(function() {
});
// cvchart.canvas.style.width = '400px';
// cvchart.canvas.style.height = '150px';
}
function showTooltip(e) {
var tooltip = document.getElementById("maptooltip");
tooltip.style.left =
(e.pageX + tooltip.clientWidth + 10 < document.body.clientWidth)
? (e.pageX + 10 + "px")
: (document.body.clientWidth + 5 - tooltip.clientWidth + "px");
tooltip.style.top =
(e.pageY + tooltip.clientHeight + 10 < document.body.clientHeight)
? (e.pageY + 10 + "px")
: (document.body.clientHeight + 5 - tooltip.clientHeight + "px");
}
function showTooltip_w(e) {
var tooltip = document.getElementById("maptooltip-w");
tooltip.style.left =
(e.pageX + tooltip.clientWidth + 10 < document.body.clientWidth)
? (e.pageX + 10 + "px")
: (document.body.clientWidth + 5 - tooltip.clientWidth + "px");
tooltip.style.top =
(e.pageY + tooltip.clientHeight + 10 < document.body.clientHeight)
? (e.pageY + 10 + "px")
: (document.body.clientHeight + 5 - tooltip.clientHeight + "px");
}
var tooltips = document.querySelectorAll('#tab-map');
for(var i = 0; i < tooltips.length; i++) {
tooltips[i].addEventListener('mousemove', showTooltip);
}
var tooltips = document.querySelectorAll('#tab-map-w');
for(var i = 0; i < tooltips.length; i++) {
tooltips[i].addEventListener('mousemove', showTooltip_w);
}
var unescapeUnicode = function(str) {
return str.replace(/\\u([a-fA-F0-9]{4})/g, function(m0, m1) {
return String.fromCharCode(parseInt(m1, 16));
});
};
var unicodeUnescape = function(str) {
var result = '', strs = str.match(/\\u.{4}/ig);
if (!strs) return '';
for (var i = 0, len = strs.length; i < len; i++) {
result += String.fromCharCode(strs[i].replace('\\u', '0x'));
}
return result;
};
showtumblr();
function showtumblr() {
//var apiurl = "https://api.tumblr.com/v2/tagged?tag=%E3%82%B3%E3%83%AD%E3%83%8A&api_key=tDxSdNN5Zn0RjYmFvqjOVAXyZnsVDSVt7IQYcZ9QVm7U9z4Fpl";
var apiurl = "https://api.tumblr.com/v2/tagged?tag=%E3%82%B3%E3%83%AD%E3%83%8A%E3%82%A6%E3%82%A4%E3%83%AB%E3%82%B9&filter=raw&api_key=tDxSdNN5Zn0RjYmFvqjOVAXyZnsVDSVt7IQYcZ9QVm7U9z4Fpl";
var settings = {
"async": true,
"crossDomain": true,
"url": getfile,
"method": "GET",
"data": { url: apiurl },
"headers": {
}
}
$.ajax(settings).done(function (data) {
var ctdata = JSON.parse(data);
for(i = 0; i < ctdata['response'].length; i++) {
var photohtml = "";
var photos = Array();
if(ctdata['response'][i]['photos']) {
for(j = 0; j < ctdata['response'][i]['photos'].length; j++) {
photos.push(ctdata['response'][i]['photos'][j]['original_size']['url']);
}
for(k = 0; k < photos.length; k++) {
photohtml = photohtml + "
";
}
}
var caption = ctdata['response'][i]['caption'];
var summary = ctdata['response'][i]['summary'];
var image = ctdata['response'][i]['image_permalink'];
var notecount = ctdata['response'][i]['note_count'];
// if(!caption)
caption = "";
$('#covidtumblr').append("
" + summary + "
Note: " + notecount + "
"); } });
}