\n");
	}
	var ret = '';
	for (var i in a) {
		ret += i + ': ' + a[i] + '\n';
	}
	if (is_win) {
		window.top.debugWindow.document.write(ret);
		window.top.debugWindow.document.write('

'); } else { alert(ret); } } var gicons = {}; var pageObjs = []; var selectedPage = null; var selectedPageIndex = null; function selectTab(page) { try { removeMarkers(); //map.clearOverlays(); //map.setMap(null); //markers.length = 0; /*FIXME: if (page == 3) { myPopupWindow.showSingle("冬期道路情報", "

冬期道路情報の提供は,12月から3月までです。

"); return ; }*/ selectedPage = pageObjs[page]; for (var i = 0; i < pageObjs.length; i++) { if (!pageObjs[i]) continue; if (i == page) { pageObjs[i].select(); } else { pageObjs[i].unselect(); } } selectedPageIndex = page; }catch(e) { alert(e); } } var myPopupWindow; function openCameraView(src, date) { photo_flag = 1; try { var state = myPopupWindow.saveState(); myPopupWindow.showSingle('カメラ', '
撮影日時: ' + date, 0, function() { myPopupWindow.restoreState(state); }); photo_flag = 0; } catch(e) { alert(e); photo_flag = 0; } } // 20171208 TS add MAP位置までスクロールする function scroll_to_map(){ // 2017.01.26 INS YAMAKEN START // MAP位置までスクロールを移動 var element = document.getElementById("body"); //mapmenu var rect = element.getBoundingClientRect(); var positionX = rect.left + window.pageXOffset; // 要素のX座標 var positionY = rect.top + window.pageYOffset; // 要素のY座標 // 要素の位置にスクロールさせる window.scrollTo(positionX, positionY); // 2017.01.26 INS YAMAKEN END } YAHOO.widget.DataTable.prototype.onDataReturnSetRows = function(oRequest, oResponse, oPayload) { this.fireEvent("dataReturnEvent", {request:oRequest,response:oResponse,payload:oPayload}); }; // Inject reloadDataSource() to YAHOO.widget.ScrollingDataTable... //YAHOO.widget.ScrollingDataTable.prototype.reloadDataSource = function() { //2017.01.13 DEL YAMAKEN YAHOO.widget.DataTable.prototype.reloadDataSource = function() { //2017.01.13 INS YAMAKEN var ds = this.getDataSource(); var oState = this.getState(); var checkPrefixR = "honjitu"; //var checkBoxesR = [ 'blocked', 'big_blocked', 'one_side', 'narrows', 'saigai', 'jizen', 'controll_complex' ]; //2017.02.01 DEL YAMAKEN var checkBoxesR = [ 'blocked', 'big_blocked', 'one_side', 'narrows', 'saigai', 'jizen', 'controll_complex', 'walker_bike' , 'chain']; //2017.02.01 INS YAMAKEN if(!(document.getElementById("info_page0").style.display)){ checkPrefixR = "honjitu"; //checkBoxesR = [ 'blocked', 'big_blocked', 'one_side', 'narrows', 'saigai', 'jizen', 'controll_complex' ]; //2017.02.01 DEL YAMAKEN checkBoxesR = [ 'blocked', 'big_blocked', 'one_side', 'narrows', 'saigai', 'jizen', 'controll_complex', 'walker_bike' , 'chain']; //2017.02.01 INS YAMAKEN }else if(!(document.getElementById("info_page1").style.display)){ checkPrefixR = "kongo"; //checkBoxesR = [ 'blocked', 'big_blocked', 'one_side', 'narrows', 'saigai', 'jizen', 'controll_complex' ]; //2017.02.09 DEL YAMAKEN checkBoxesR = [ 'blocked', 'big_blocked', 'one_side', 'narrows', 'saigai', 'jizen', 'controll_complex', 'walker_bike' , 'chain']; //2017.02.09 INS YAMAKEN }else if(!(document.getElementById("info_page2").style.display)){ checkPrefixR = "jizen"; checkBoxesR = ['rain', 'wind', 'nami', 'kansui', 'sekisetu' , 'rinko' ,'snow']; // 20171201 TS mod }else if(!(document.getElementById("info_page3").style.display)){ checkPrefixR = "touki"; checkBoxesR = ['camera', 'romen']; } /* S-TTEC */ else if(!(document.getElementById("info_page4").style.display)){ checkPrefixR = "kinkyu"; checkBoxesR = ['route_01','route_02','route_03','route_04']; } /* E-TTEC */ /* 20170414 TS add start */ else if(!(document.getElementById("info_page5").style.display)){ checkPrefixR = "warning"; checkBoxesR = ['rakuseki_03','rakuseki_04']; } /* 20170414 TS add end */ var idpre = "check_" + checkPrefixR + "_" ; var request = ""; //var request = this.get("generateRequest")(); //var request = this.get("generateRequest")({}, this); //var request = this.generateRequest; for(i = 0 ; i < checkBoxesR.length ; i++){ request += checkBoxesR[i]; request += "=" ; request += document.getElementById(idpre+checkBoxesR[i]).checked; request += "&"; } request += "timestamp="; request += ((new Date()).getTime() / 1000); if(checkPrefixR=="honjitu" || checkPrefixR=="kongo"){ request += "&" ; request += "mode="; request += checkPrefixR; } // 2017.02.15 INS YAMAKEN START if (selectedPage.dataPageID != 'data_page4' && selectedPage.dataPageID != 'data_page5') { request += "&area=" + selectedArea.areaid; } // 2017.02.15 INS YAMAKEN END if(selectedPage.dataPageID == 'data_page3'){ request += "&sort=sortno"; } // Purge selections this.unselectAllRows(); this.unselectAllCells(); ds.flushCache(); var test = ds.sendRequest(request, { success : this.onDataReturnInitializeTable, failure : this.onDataReturnInitializeTable, scope : this, argument: this.getState() }); }; // 2017.01.06 INS YAMAKEN START var buttonFormatter = function(elCell, oRecord, oColumn, oData) { elCell.innerHTML = ''; }; // 2017.01.06 INS YAMAKEN END // base class function AbstructBaseScreen() { var myDataSource = new YAHOO.util.DataSource(this.dataSource + '?'); var markers = []; myDataSource.connXhrMode = 'cancelStaleRequests'; myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON; myDataSource.responseSchema = { resultsList: "results", metaFields: { error: "error", script: "script" } }; try { for (var i = 0; i < this.columnDefs.length; i++) { if (this.columnDefs[i].sortFields) { this.columnDefs[i].sortOptions = (function(oColumn) { return { sortFunction: function(a, b, desc) { for (var j = 0; j < oColumn.sortFields.length; j++) { var sField = oColumn.sortFields[j]; if (YAHOO.lang.isUndefined(a.getData(sField))) { alert(sField + ' is not found'); } //var sorted = YAHOO.util.Sort.compare(a.getData(sField),b.getData(sField), desc); //2017.01.11 DEL YAMAKEN //2017.01.11 INS YAMAKEN START var sorted; if (oColumn.parser == "number") { sorted = YAHOO.util.Sort.compare(parseInt(a.getData(sField)),parseInt(b.getData(sField)), desc); } else if (sField == "end_date") { var junkan = ['上旬' , '中旬' , '下旬']; var junkan_asc = ['10 25', '20 25', '99']; var junkan_desc = ['00' , '10 25', '20 25']; var aIndex = junkan.indexOf(a.getData(sField).substr(8, 2)); var bIndex = junkan.indexOf(b.getData(sField).substr(8, 2)); var aDate = a.getData(sField); var bDate = b.getData(sField); if (aIndex != -1) { aDate = a.getData(sField).substr(0, 8) + (desc ? junkan_desc[aIndex] : junkan_asc[aIndex]); } if (bIndex != -1) { bDate = b.getData(sField).substr(0, 8) + (desc ? junkan_desc[bIndex] : junkan_asc[bIndex]); } sorted = YAHOO.util.Sort.compare(aDate,bDate, desc); } else { sorted = YAHOO.util.Sort.compare(a.getData(sField),b.getData(sField), desc); } //2017.01.11 INS YAMAKEN END if (sorted !== 0) return sorted; } return YAHOO.util.Sort.compare(a.getCount(),b.getCount(), desc); } }; })(this.columnDefs[i]); } } }catch (e) { alert(e); } //var myDataTable = new YAHOO.widget.ScrollingDataTable( //2017.01.13 DEL YAMAKEN var myDataTable = new YAHOO.widget.DataTable( //2017.01.13 INS YAMAKEN this.dataPageID , this.columnDefs , myDataSource , { width:"100%", height: "100px", /*generateRequest: GEvent.callback(this, this.generateRequest),*/ // I couldnt find same function in yui. >_< , //generateRequest:this.generateRequest(), generateRequest:function(){this.generateRequest;} , initialLoad: false, dateOptions: "%Y/%m/%d", MSG_EMPTY: "データがありません", MSG_ERROR: "データの取得に失敗しました", MSG_LOADING: "データ取得中..." } ); // 2017.02.08 INS YAMAKEN START if(this.dataPageID == "data_page1") { myDataTable.hideColumn('newold'); } // 2017.02.08 INS YAMAKEN END this._dataTable = myDataTable; // document.write(myDataTable); /* S-TTEC */ if(this.dataPageID != "data_page4" && this.dataPageID != "data_page5"){ /* E-TTEC */ // Events on the table myDataTable.subscribe("rowMouseoverEvent", myDataTable.onEventHighlightRow); myDataTable.subscribe("rowMouseoutEvent", myDataTable.onEventUnhighlightRow); myDataTable.subscribe("rowClickEvent", function(arg) { var rec = myDataTable.getRecord(arg.target); this.onTableRowClick(rec._oData); // XXX: private access ;p }, this, true); /* S-TTEC */ } /* E-TTEC */ this.reloadDataTable = function(thisa) { thisa._dataTable.showTableMessage(thisa._dataTable.get("MSG_LOADING"), YAHOO.widget.DataTable.CLASS_LOADING); myDataTable.reloadDataSource(); } // Data manipulation. myDataTable.subscribe("dataReturnEvent", this.onDataReceived, this, true); myDataTable.subscribe("postRenderEvent", this.onPostRenderEvent, this, true); myDataTable.subscribe("columnResizeEvent", this.onColumnResizeEvent, this, true); //2017.01.12 INS YAMAKEN START //ソート列押下時 myDataTable.subscribe("columnSortEvent", function(oColumn,sSortDir) { if (this.dataPageID != 'data_page0' && this.dataPageID != 'data_page1') return; var data = this._dataTable; var oldId = ''; if (last_largeMarker) { oldId = last_largeMarker.recordData.id; } removeMarkers(); this.markers = []; last_largeMarker = null; last_largeMarkerNum = null; var selectRec; // 連番振り直し for (i = 0; i < data.getRecordSet().getLength(); i++) { data.getRecordSet().getRecord(i).setData("rowno", i+1); if (data.getRecordSet().getRecord(i).getData("id") == oldId) { selectRec = data.getRecordSet().getRecord(i)._oData; } this.createMapInfo(data.getRecordSet().getRecord(i)._oData); } this.enlargeMarker(selectRec); changeInfoWindow(); data.render(); }, this, true); //2017.01.12 INS YAMAKEN END // Events on info page this._attachCheckHandler(); } AbstructBaseScreen.prototype = { _attachCheckHandler: function() { var obj = YAHOO.util.Dom.get(this.getCheckID('all')); if (!obj) return false; if (YAHOO.lang.isUndefined(this.checkBoxesForAll)) { this.checkBoxesForAll = this.checkBoxes; } YAHOO.util.Event.addListener(obj, 'click', function(e) { var checked = obj.checked; for (var i = 0; i < this.checkBoxesForAll.length; i++) { var child = YAHOO.util.Dom.get(this.getCheckID(this.checkBoxesForAll[i])); if (child) child.checked = checked; } setTimeout("'" +this.reloadDataTable(this)+"'",10); }, this, true); // add event handler for (var i = 0; i < this.checkBoxes.length; i++) { YAHOO.util.Event.addListener(this.getCheckID(this.checkBoxes[i]), 'click', function() { var all_checked = true; for (var i = 0; i < this.checkBoxesForAll.length; i++) { var child = YAHOO.util.Dom.get(this.getCheckID(this.checkBoxesForAll[i])); if (child && !child.checked) { all_checked = false; break; } } obj.checked = all_checked; //setTimeout(GEvent.callback(this, this.reloadDataTable), 10); //setTimeout(function(){this.reloadDataTable},10); setTimeout("'"+this.reloadDataTable(this)+"'",10); //setTimeout(function(){this.reloadDataTable(this);},10); }, this, true); } return true; }, resize: function(size) { var yui_dt_hd_height = 25; var obj = this._dataTable.getBdContainerEl(); // maybe, undocumented ;) obj.style.width = (size.body.w) + 'px'; obj.style.height = (size.body.h - yui_dt_hd_height) + 'px'; this._dataTable.validateColumnWidths(); map.invalidateSize(false); //map.setCenter(nowcenter); //if(obj.id == "map"){alert();} }, unselect: function() { this.abortRequest(); // 2017.02.16 INS YAMAKEN this.isSelected = false; YAHOO.util.Dom.get(this.infoPageID).style.display = 'none'; }, select: function() { //var bannerID = 'navi'; // 2017.02.03 DEL YAMAKEN this.isSelected = true; YAHOO.util.Dom.get(this.infoPageID).style.display = ''; changeSedimentMesh(); // 20190510 add this.onPageSelect(); }, // 2017.01.26 INS YAMAKEN START abortRequest: function() { var ds = this._dataTable.getDataSource(); if (ds._oQueue) { if(ds._oQueue.conn) { if(ds.connMgr.abort) { ds.connMgr.abort(ds._oQueue.conn); ds._oQueue.conn = null; } else { } } } }, createMapInfo: function(obj) { //if (obj.lat > 0 && obj.lon > 0) { if (obj.lat > 0 && obj.lon > 0 && (!obj.newold || obj.newold != '解除')) { if(this.dataPageID == "data_page0" || this.dataPageID == "data_page1"){ //20170217 TS add 本日・今後の場合、一覧用の列番号を付与する obj.listno = sp_rowno; sp_rowno = sp_rowno + 1; } var marker = L.marker([parseFloat(obj.lat), parseFloat(obj.lon)], { icon: gicons[obj.icon], }); var self = this; try { marker.on('click', function () { var rec = this.recordData; map.panTo(rec.marker.getLatLng()); //self.showInfoPages(rec.marker, true); //self.enlargeMarker(rec); self.showInfoPage(rec.marker); }); } catch (e) { alert("DEBUG: " + e); } marker.addTo(map); marker.recordData = obj; obj.marker = marker; this.markers.push(marker); marker_list.push(marker); //2017.01.05 INS YAMAKEN START if (obj.listno <= 500) { var numicon = new L.icon({ iconUrl: 'icon/num/' + getAreaColor(obj.area) + obj.listno + '.png', iconSize: [23, 23], iconAnchor: [25, -2], popupAnchor: [0, 0], }); var nummarker = L.marker([parseFloat(obj.lat), parseFloat(obj.lon)], { icon: numicon, }); try { nummarker.on('click', function () { var rec = this.recordData; map.panTo(rec.marker.getLatLng()); //self.showInfoPages(rec.marker, true); //self.enlargeMarker(rec); self.showInfoPage(rec.marker); }); } catch (e) { alert("DEBUG: " + e); } nummarker.recordData = obj; if (document.getElementById(this.getCheckID('numdisp')).checked) { nummarker.addTo(map); } marker_num_list.push(nummarker); } //インフォ表示 var infocontent = obj.rosenname; if (typeof(obj.kiseireason) != "undefined") { infocontent += "
" + obj.kiseireason; } //var infoWindow = L.Popup(infocontent,{ autoClose: false, }); marker.bindPopup(infocontent,{ autoClose: false, autoPan: false }); marker.off( { click: marker._openPopup }); // マーカークリック時に自動的にポップアップが表示される機能を無効化 if (selectedPage.dataPageID == 'data_page2') { // 規制区間のポップアップ文字設定 var popupstr; //20171205 TS add 地震、霧、積雪・凍結を追加 switch (obj.origin_icon) { //20171204 TS mod case 'rain' : popupstr = '雨による規制区間'; break; case 'wind' : popupstr = '風による規制区間'; break; case 'nami' : popupstr = '越波による規制区間'; break; case 'kansui': pupupstr = '冠水による規制区間'; break; case 'quake' : popupstr = '地震による規制区間'; break; case 'fog' : popupstr = '霧による規制区間'; break; case 'frozen': popupstr = '積雪・凍結による規制区間'; break; case 'sekisetu': popupstr = '積雪・凍結による規制区間'; break; case 'snow' : popupstr = '冬期閉鎖区間'; break; } //20170301 TS mod 冬期は線の書式が異なるため処理を分岐 //20171204 TS mod 臨港道路の書式を追加 if(obj.icon == "snow"){ snowRoot(obj.kukanroot, 'aqua', popupstr); }else if(obj.icon == "rinko"){ kiseiRoot(obj.kukanroot, 'royalblue', popupstr); }else{ kiseiRoot(obj.kukanroot, 'red', popupstr); } } else { kiseiRoot(obj.kukanroot, 'red'); } //2017 02 add TS start //スマホ版規制一覧の作成 選択中の情報によって表示する項目が異なる if(this.dataPageID == "data_page0" || this.dataPageID == "data_page1"){ //本日の規制、今後の規制 sp_kiseilist_html += '

'; sp_kiseilist_html += '
'; sp_kiseilist_html += ' '; sp_kiseilist_html += ' '; sp_kiseilist_html += ' '; sp_kiseilist_html += ' '; sp_kiseilist_html += ' '; sp_kiseilist_html += '
'; sp_kiseilist_html += '

' + obj.listno + '

'; sp_kiseilist_html += '
'; sp_kiseilist_html += '

'; sp_kiseilist_html += '

路線名:' + obj.rosenname + ' 上下線:' + obj.updown + ' 

'; sp_kiseilist_html += '

規制内容:' + obj.kiseinaiyo + ' 規制理由:' + obj.kiseireason + '

'; sp_kiseilist_html += '
'; sp_kiseilist_html += '
'; sp_kiseilist_html += '

'; }else if(this.dataPageID == "data_page2"){ //事前通行規制区間 var reason = ""; //20171205 TS add 地震、霧、積雪・凍結を追加 switch(obj.origin_icon){ //20171204 TS mod case "rain": reason = "雨"; break; case "wind": reason = "風"; break; case "nami": reason = "越波"; break; case "kansui": reason = "冠水"; break; case "quake": reason = "地震"; break; case "fog": reason = "霧"; break; case "frozen": reason = "積雪・凍結"; break; case "sekisetu": reason = "積雪・凍結"; break; case "snow": reason = "冬期"; break; } sp_kiseilist_html += '

'; sp_kiseilist_html += '
'; sp_kiseilist_html += '

'; sp_kiseilist_html += '

'; sp_kiseilist_html += ' 路線名:' + obj.rosenname + ' 
'; sp_kiseilist_html += ' 開始地点:' + obj.kisei_start + ' 
'; sp_kiseilist_html += ' 終了地点:' + obj.kisei_end + ' 
'; sp_kiseilist_html += ' 規制基準:' + reason ; sp_kiseilist_html += '

'; sp_kiseilist_html += '
'; sp_kiseilist_html += '

'; }else if(this.dataPageID == "data_page3"){ //道路カメラ・冬期道路情報 var type = ""; switch(obj.icon){ case "slip": type = "路面状況"; break; case "camera": type = "カメラ"; break; case "slip_camera": type = "カメラ・路面状況"; break; } sp_kiseilist_html += '

'; sp_kiseilist_html += '
'; sp_kiseilist_html += '

'; sp_kiseilist_html += '

'; sp_kiseilist_html += ' 路線名:' + obj.rosenname + ' 
'; sp_kiseilist_html += ' 観測施設名:' + obj.site + ' 
'; sp_kiseilist_html += ' 設置場所:' + obj.place + ' 
'; sp_kiseilist_html += ' 種別:' + type ; sp_kiseilist_html += '

'; sp_kiseilist_html += '
'; sp_kiseilist_html += '

'; } //2017 02 add TS end } }, // 2017.01.26 INS YAMAKEN END onPageSelect: function() { this.reloadDataTable(this); }, onPostRenderEvent : function() { var sS = document.getElementById(this.dataPageID).getElementsByTagName('table')[0].offsetWidth; document.getElementById('data_header').style.width = sS+"px"; }, onColumnResizeEvent : function(column,target,width) { var sS = document.getElementById(this.dataPageID).getElementsByTagName('table')[0].offsetWidth; document.getElementById('data_header').style.width = sS+"px"; }, onDataReceived: function(args) { if (!this.isSelected) return ; removeMarkers(); //map.clearOverlays(); //last_largeMarker = null; this.markers = []; /* S-TTEC */ removePolylines(); /* E-TTEC */ if (args.response.meta.error) { myPopupWindow.showSingle(args.response.meta.error.title, '

'+args.response.meta.error.body+'

'); } if (args.response.meta.script) { eval(args.response.meta.script); } /* S-TTEC */ if(this.dataPageID == "data_page4"){ sp_kiseilist_html = ""; //緊急輸送道路の説明テキストを別ファイルから取得 var msg = ""; msg += '

'; msg += '■ 緊急輸送道路とは
\  地震直後から発生する緊急輸送を迅速かつ確実に実施するために必要な道路であり,道路の耐震性が確保されているとともに,地震時にネットワークとして機能するものです。
\  この緊急輸送道路については,災害が発生した場合,災害応急対策のため,緊急通行車両以外の通行を禁止または制限することがあります。
\ ■ 緊急輸送道路ネットワーク
\ (1)第1次緊急輸送道路
\   広域ネットワークの骨格となる高規格幹線道路及び第1次防災拠点を相互に連絡する路線を選定し,広域市町村圏相互の連携を確保する。
\ (2)第2次緊急輸送道路
\   第1次緊急輸送道路と第2次防災拠点を連絡する路線を選定し,第1次緊急輸送道路を補完する路線と位置づけ,市町村相互の連携を図る。
\ (3)第3次緊急輸送道路
\   第1次緊急輸送道路,第2次緊急輸送道路と第3次防災拠点を連絡する路線を選定し,第1次,第2次緊急輸送道路から距離のある拠点を補完するネットワークにより構成する。
\
\  詳細はこちら
\  広島県緊急輸送道路ネットワーク計画 - 広島県ホームページ
\ '; msg += '

'; sp_kiseilist_html = msg; $("#kisei_list").html(sp_kiseilist_html); }else if(this.dataPageID == "data_page5"){ sp_kiseilist_html = ""; $("#kisei_list").html(sp_kiseilist_html); }else{ /* E-TTEC */ sp_kiseilist_html = ""; sp_rowno = 1; for (var i = 0; i < args.response.results.length; i++) { var obj = args.response.results[i]; // 2017.02.08 INS YAMAKEN START // 路線名を略称に置き換え obj.rosenname = obj.rosenname.replace(/^国道\s+/g, "(国)"); obj.rosenname = obj.rosenname.replace(/^一般県道\s+/g, "(一)"); obj.rosenname = obj.rosenname.replace(/^主要地方道\s+/g, "(主)"); obj.rosenname = obj.rosenname.replace(/^臨港道路\s+/g, "(臨)"); this.createMapInfo(obj); // 2017.02.08 INS YAMAKEN END /* 2017.02.08 DEL YAMAKEN START if (obj.lat > 0 && obj.lon > 0) { var marker = L.marker([parseFloat(obj.lat), parseFloat(obj.lon)], { icon: gicons[obj.icon], }); var self = this; try { marker.on('click', function () { var rec = this.recordData; map.panTo(rec.marker.getLatLng()); //self.showInfoPages(rec.marker, true); self.showInfoPage(rec.marker); //self.enlargeMarker(rec); }); } catch (e) { alert("DEBUG: " + e); } marker.addTo(map); marker.recordData = obj; obj.marker = marker; this.markers.push(marker); marker_list.push(marker); } 2017.02.08 DEL YAMAKEN END */ } changeInfoWindow(); //2017.01.06 INS YAMAKEN $("#kisei_list").html(sp_kiseilist_html) //201701 TS add スマホ版の規制一覧を表示 createMapInfo内でHTMLを作成 /* S-TTEC */ } /* E-TTEC */ if (typeof this.onDataReceivedAfter == 'function') this.onDataReceivedAfter(); /* S-TTEC */ if (typeof this.onCreateRoute == 'function') this.onCreateRoute(); /* E-TTEC */ }, onDataReceivedAfter: null, /* S-TTEC */ onCreateRoute: null, /* E-TTEC */ onTableRowClick: function(rec) { // 2017.02.08 INS YAMAKEN START // 解除済みは表示しない if (rec.newold && rec.newold == '解除') { this._dataTable.unselectAllRows(); if (last_largeMarker) { last_largeMarker.remove(); last_largeMarker = null; } if (last_largeMarkerNum) { last_largeMarkerNum.remove(); last_largeMarkerNum = null; } return; } // 2017.02.08 INS YAMAKEN END var orig_marker = rec.marker; if (!orig_marker) { alert('エラー: 地点が不明です。'); return ; } //map.panTo(new google.maps.LatLng(rec.getData('lat'), rec.getData('lon'))); map.panTo(orig_marker.getLatLng()); this.enlargeMarker(rec); }, enlargeMarker: function(rec) { the_debug = rec; var orig_marker = rec.marker; if (last_largeMarker) { last_largeMarker.remove(); last_largeMarker = null; } // 2017.01.06 INS YAMAKEN START if (last_largeMarkerNum) { last_largeMarkerNum.remove(); last_largeMarkerNum = null; } // 2017.01.06 INS YAMAKEN END try { var marker = L.marker(orig_marker.getLatLng(), { icon: gicons['large:' + rec.icon], zIndexOffset: 1000 }); marker.recordData = rec; var self = this; marker.on('click', function () { map.panTo(marker.getLatLng()); self.showInfoPage(marker, true); }); last_largeMarker = marker; marker.addTo(map); marker.shake(); // 2017.01.06 INS YAMAKEN START if (rec.listno <= 500) { var numicon = new L.icon({ iconUrl: 'icon/num/' + getAreaColor(rec.area) + rec.listno + '.png', iconSize: [23, 23], iconAnchor: [25, -2], popupAnchor: [0, 0], }); var nummarker = L.marker(orig_marker.getLatLng(), { icon: numicon, zIndexOffset: 1001 }); nummarker.on('click', function () { map.panTo(marker.getLatLng()); self.showInfoPage(marker, true); }); last_largeMarkerNum = nummarker; if (document.getElementById(this.getCheckID('numdisp')).checked) { nummarker.addTo(map); } nummarker.shake(); } /* //インフォ表示 var infocontent = rec.rosenname; if (typeof(rec.kiseinaiyo) != "undefined") { infocontent += "
" + rec.kiseinaiyo; } marker.bindPopup(infocontent,{ autoClose: false, }); marker.off({ click: marker._openPopup }); // マーカークリック時に自動的にポップアップが表示される機能を無効化 //2017.01.06 INS YAMAKEN START if (document.getElementById(this.getCheckID('infodisp')).checked) { openInfoWindow(); } //2017.01.06 INS YAMAKEN END */ } catch(e) { alert(e); } }, //201702 TS del start /* showInfoPage: function(recId) { var rec = this._dataTable.getRecord(recId); var page = this.generateInfoPage(rec._oData); // XXX: private access ;p currentRecord = rec._oData; myPopupWindow.showSingle(page.title, page.body); }, */ //201702 TS del end //201702 TS add start //別タブで詳細画面を開くように変更 IDを渡して詳細画面で情報を取得する showInfoPage: function(marker) { this.enlargeMarker(marker.recordData); map.panTo(marker.getLatLng()); if(marker.recordData.listno === undefined){ var query = "?id=" + marker.recordData.id + "&pageid=" + this.dataPageID; }else{ var query = "?id=" + marker.recordData.id + "&pageid=" + this.dataPageID + "&num=" + marker.recordData.listno; } window.open("information.php" + query); }, //201702 TS add end showInfoPages: function(marker, flag_prefer_clicked) { clickedMarkers = marker_getCollisions(marker, this.markers); //map.panTo(marker.getPosition()); var markerLatLng = marker.getLatLng(); try { myPopupWindow.clearPages(); var prefered_page = 0; for (var i = 0; i < clickedMarkers.length; i++) { var that = this; var page = that.generateInfoPage(clickedMarkers[i].recordData); var rec = clickedMarkers[i].recordData; //myPopupWindow.addPage(page.title, page.body, null, clickedMarkers[i].recordData); myPopupWindow.addPage(page.title, page.body, page.latlng, page.icon, page.showCallback //map.panTo(rec.marker.getLatLng()); //function(){that.enlargeMarker(rec)} //currentRecord = rec; //clickedMarkers[i].recordData ); if (flag_prefer_clicked && markerLatLng.equals(clickedMarkers[i].getLatLng())) prefered_page = i; } myPopupWindow.showPage(prefered_page); } catch (e) { alert(e); } }, //201702 TS add start //SP版の一覧から詳細画面を表示 対応するマーカーの情報を取得してshowInfoPageを呼ぶ showInfoPageFromList: function(k_id){ var clicked_marker = ""; for(i=0 ; i\ 路線名" + rec.rosenname + "\ 上下線" + rec.updown + "\ 規制内容" + rec.kiseinaiyo + "\ 規制理由" + rec.kiseireason + "\ 規制開始日" + rec.start_date + "\ 終了予定日" + rec.end_date + "\ 規制時間" + rec.kisei_hour + "\ 規制延長" + rec.encho + "\ 開始地点" + rec.start_point + "\ 終了地点" + rec.end_point + "\ 迂回路有無" + rec.ukairo + "\ 管轄" + rec.demarcation + "\ \ ", showCallback: function () { var mapsub = L.map('mapsub', { center: [rec.lat, rec.lon], zoom: 13, minZoom: 8, closePopupOnClick: false, }); var tileLayer = L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png', { attribution: "地理院タイル" }); tileLayer.addTo(mapsub) // 画面右下テキスト 迂回路・規制区間 var attr = L.control.attribution({prefix: '

迂 回 路
'}); attr.addTo(mapsub).removeAttribution(tileLayer.getAttribution()); attr = L.control.attribution({prefix: '
規制区間
'}); attr.addTo(mapsub).removeAttribution(tileLayer.getAttribution()); // マーカーセット var marker = L.marker([rec.lat, rec.lon], { icon: gicons['large:' + rec.icon], zIndexOffset: 1000 }); marker.recordData = rec; marker.addTo(mapsub); marker.shake(); // 規制区間表示 createRoot(mapsub, rec.kukanroot, "red"); // 迂回路表示 createRoot(mapsub, rec.ukairoot, "green"); // マップの位置調整 var bounds = new L.LatLngBounds(); mapsub.eachLayer(function(layer){ if (layer.getBounds) { bounds.extend(layer.getBounds()); } else if (layer.getLatLng) { bounds.extend(layer.getLatLng()); } }); mapsub.fitBounds(bounds, { maxZoom: 16, animate: false }); // 小さくなりすぎないようにmax指定 } }; }, getTitle: function() { return ''; } }); // 事前通行規制 function JizenScreen(config) { this.dataPageID = config.dataPageID; this.infoPageID = config.infoPageID; this.bannerURL = config.bannerURL; this.banner = config.banner; this.checkPrefix = 'jizen'; this.checkBoxes = ['rain', 'wind', 'nami', 'kansui' , 'sekisetu', 'rinko' , 'snow']; this.checkBoxesForAll = ['rain', 'wind', 'nami', 'kansui', 'sekisetu']; JizenScreen.superclass.constructor.call(this); } YAHOO.lang.extend(JizenScreen, AbstructBaseScreen, { geoXml: null,//[], dataSource: 'getJizen.php', //dataSource: 'getJizen.txt', columnDefs: [], onDataReceivedAfter: function() { // XXX: must be from remote. var status = this.getStatus(); var rank = 0; if (status.rain) jizen_layers.rain .addTo(map); if (status.wind) jizen_layers.wind .addTo(map); if (status.nami) jizen_layers.nami .addTo(map); if (status.kansui) jizen_layers.kansui.addTo(map); if (status.sekisetu) jizen_layers.sekisetu.addTo(map); if (status.snow) jizen_layers.snow .addTo(map); /* this.geoXml = []; if (status.rain) this.geoXml[0] = new GGeoXml(get_geo_url('rain'), onload); if (status.wind) this.geoXml[1] = new GGeoXml(get_geo_url('wind'), onload); if (status.nami) this.geoXml[2] = new GGeoXml(get_geo_url('nami'), onload); if (status.kansui) this.geoXml[3] = new GGeoXml(get_geo_url('kansui'), onload); if (status.snow) this.geoXml[4] = new GGeoXml(get_geo_url('winter'), onload); */ // this.geoXml = new GGeoXml(get_geo_url(rank), onload); /* TODO: Line = new google.maps.KmlLayer({ url: get_geo_url(rank), preserveViewport: true//これをtrueにすると初期座標・ズームが有効になります。 }); Line.setMap(map); */ /* var Line = L.geoJson(the_geojson, { }); Line.addTo(map); */ }, generateInfoPage: function(rec) { return { latlng: [rec.lat, rec.lon], icon: rec.icon, title: (rec.icon == 'snow' ? '冬期閉鎖区間情報' : '事前通行規制区間情報'), body: "\ \ \ \ \ \ \ \ \
路線名" + rec.rosenname + "
開始地点" + rec.kisei_start + "
終了地点" + rec.kisei_end + "
規制基準
(通行止)
" + rec.basis + "
危険内容" + rec.kiseinaiyo + "
迂回路有無" + rec.ukaiumu + "
管轄" + rec.demarcation + "
\ " }; }, // ------------------ /* layerOnOff: function(layers, on) { for (var i = 0; i < layers.length; i++) { if (this.geoXml[layers[i]].hasLoaded()) { if (this.geoXml[layers[i]].loadedCorrectly()) { if (on) { //map.addOverlay(this.geoXml[layers[i]]); this.geoXml[layers[i]].setMap(); } else { map.removeOverlay(this.geoXml[layers[i]]); } } } } }, this.updateData = function() { var status = this.getStatus(); this.layerOnOff([0, 1, 2], status.rain); this.layerOnOff([3], status.wind); this.layerOnOff([4], status.nami); } */ getTitle: function() { return ''; } }); // 冬期画面 function ToukiScreen(config) { this.dataPageID = config.dataPageID; this.infoPageID = config.infoPageID; this.bannerURL = config.bannerURL; this.banner = config.banner; this.checkPrefix = 'touki'; this.checkBoxes = ['camera', 'romen']; ToukiScreen.superclass.constructor.call(this); } YAHOO.lang.extend(ToukiScreen, AbstructBaseScreen, { dataSource: 'getWinter.php', //dataSource: 'getWinter.txt', columnDefs: [], generateInfoPage: function(rec) { return { latlng: [rec.lat, rec.lon], icon: rec.icon, // title: "冬期道路情報", body: "\ title: "道路カメラ・冬期道路情報", body: "\ \ \ \ \ \ \ \ \ \ \ \
カメラ" + (rec.camera ? ("撮影日時: " + rec.camera_date + "

▲画像をクリックで拡大表示") : "なし") + "
路線名" + rec.rosenname + "
観測施設名" + rec.site + "
設置場所" + rec.place + "
観測日時(路面状態)" + rec.romen_date + "
道路周辺の積雪深" + (rec.snow_depth ? rec.snow_depth : "-") + "路面の圧雪深" + (rec.romen_snow ? rec.romen_snow : "-") + "
気温" + (rec.temperature ? rec.temperature : "-") + "路面温度" + (rec.romen_temp ? rec.romen_temp : "-") + "
路面状態" + (rec.romen_cond ? rec.romen_cond : "-") + "
\ " }; }, getTitle: function() { return ''; } }); /* S-TTEC */ function KinkyuScreen(config) { this.dataPageID = config.dataPageID; this.infoPageID = config.infoPageID; this.bannerURL = config.bannerURL; this.banner = config.banner; this.checkPrefix = 'kinkyu'; this.checkBoxes = ['route_01','route_02','route_03','route_04']; KinkyuScreen.superclass.constructor.call(this); } YAHOO.lang.extend(KinkyuScreen, AbstructBaseScreen, { dataSource: 'getKinkyuMsg.php', columnDefs: [ {key: "msg", label: "緊急輸送道路について", resizeable:false } ], onCreateRoute: function() { var icon_dashed = [{ icon:{ path: 'M 0,-1 0,1' ,strokeOpacity: 1 ,scale: 4 } ,offset: '0' ,repeat: '20px' }]; var strokeopacity; // 成功 var handleSuccess = function(o){ if (o.status == 200 && o.responseText !== undefined){ var arr_obj = eval("("+o.responseText+")"); var route_idx = 0; for(var i=0, ilen=arr_obj.length; i= this.pages.length) { return ; } this.pageNum = pageNum; var page = this.pages[pageNum]; if(popup_flag === 1 && photo_flag == 0) { map.panTo(page.LatLng); //this.change_popup(page.LatLng, page.Icon, this); this.change_popup(page.LatLng, page.Icon, clickedMarkers[pageNum].recordData); } else { //map.panTo(map.getCenter()); } popup_flag = 1; if (this.showPageNum) { this.setHeader(page.title + ' [Page: ' + (this.pageNum + 1) + '/' + this.pages.length + ']'); } else { this.setHeader(page.title); } this.setBody(page.body); this.show(); this.center(); if (page.showCallback) { page.showCallback(); } } catch (e) { alert(e); } }; myPopupWindow.clearPages(); myPopupWindow.setHeader("交通規制"); myPopupWindow.setBody(""); myPopupWindow.setFooter(""); myPopupWindow.render('mypopup-container'); } catch (e) { alert(e); } YAHOO.util.Dom.get('body').style.visibility = 'visible'; var bounds = new L.latLngBounds([34.102707, 132.083129], [35.056980, 133.439941]); nowcenter = bounds.getCenter(); // var option = {zoom: 9, center: nowcenter, mapTypeId : google.maps.MapTypeId.ROADMAP , panControl: true, zoomControl: true }; // map = new google.maps.Map(document.getElementById('map'),option); map = L.map('map', { center: nowcenter, zoom: 8, minZoom: 7, closePopupOnClick: false, }); L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png', { attribution: "地理院タイル" }).addTo(map); map.on('zoomend', changeInfoWindow); // ズーム変更後イベント ※fitBoundsでは発生しない /* 2017.02.13 DEL YAMAKEN var opts = { style: function (feature) { if (feature.properties.style == 'winter') { return { color: 'rgba(183, 255, 244, 0.5)', weight: 14 }; } return { color: 'rgba(255, 0, 0, 0.5)', weight: 6 }; }, onEachFeature: function (feature, layer) { if (feature.properties && feature.properties.description) { layer.bindPopup(feature.properties.description); } } }; jizen_layers.rain = L.geoJson(jizen_json.rain , opts); jizen_layers.wind = L.geoJson(jizen_json.wind , opts); jizen_layers.nami = L.geoJson(jizen_json.nami , opts); jizen_layers.kansui = L.geoJson(jizen_json.kansui, opts); jizen_layers.snow = L.geoJson(jizen_json.snow , opts); */ /* TODO google.maps.event.addListener(map,'idle',function(){ nowcenter = map.getCenter(); }); var flag=1; var boundsHandle = google.maps.event.addListener(map, 'bounds_changed', function() { flag=0; if(!map.getBounds().contains( new google.maps.LatLng(34.102707, 132.083129) ) && !map.getBounds().contains( new google.maps.LatLng(35.056980, 133.439941) )){ map.setZoom(map.getZoom()-1); }else{ google.maps.event.removeListener(boundsHandle); //処理 //$("#mapOverlay").remove(); } }); if(map.getBounds() && flag==1 && boundsHandle){ map.setZoom(map.getZoom()-1); } */ (function() { var icons = { // 規制 'big_blocked': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, 'bike_blocked': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, 'normal_blocked': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, 'blocked': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, 'chain': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, 'construction': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, 'controll_complex': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, 'crash': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, 'narrows': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, 'one_side': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, 'two_way': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, 'walker_bike': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, // 2017.02.01 INS YAMAKEN 'big_blocked_disaster': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'bike_blocked_disaster': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'normal_blocked_disaster': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'blocked_disaster': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'chain_disaster': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'construction_disaster': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'controll_complex_disaster': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'crash_disaster': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'narrows_disaster': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'one_side_disaster': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'two_way_disaster': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'walker_bike_disaster': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, // 20170221 TS add 'big_blocked_winter': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'bike_blocked_winter': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'normal_blocked_winter': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'blocked_winter': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'chain_winter': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'construction_winter': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'controll_complex_winter': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'crash_winter': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'narrows_winter': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'one_side_winter': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'two_way_winter': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'walker_bike_winter': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, // 20170221 TS add 'big_blocked_before': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'bike_blocked_before': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'normal_blocked_before': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'blocked_before': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'chain_before': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'construction_before': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'controll_complex_before': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'crash_before': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'narrows_before': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'one_side_before': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'two_way_before': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, 'walker_bike_before': { width: 26, height: 26, anchor_x: 11, anchor_y: 14 }, // 20170221 TS add // 事前通行規制区間情報 'rain': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, // ○ 'wind': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, // ○ 'nami': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, // ○ 'kansui': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, // ○ 'sekisetu': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, // ○ 'rinko': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, // ○ 20171208 TS add 'snow': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, // ○ // 冬期道路情報 'camera': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, // ○ 'slip': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, // ○ 'slip_camera': { width: 22, height: 22, anchor_x: 11, anchor_y: 11 }, // ○ /* S-TTEC */ // 緊急輸送道路 /* E-TTEC */ 'dummy' : {} }; for (var i in icons) { gicons[i] = new L.icon({ iconUrl: 'icon/mini/' + i + '.gif', iconSize: [icons[i].width, icons[i].height], iconAnchor: [icons[i].anchor_x, icons[i].anchor_y], popupAnchor: [0, -10], }); gicons['large:' + i] = new L.icon({ iconUrl: 'icon/40px/' + i + '.gif', iconSize: [icons[i].width > 22 ? 45 : 40, icons[i].height > 22 ? 45 : 40], iconAnchor: [icons[i].width > 22 ? 20 : 20, icons[i].height > 22 ? 25 : 20], popupAnchor: [0, -17], }); } })(); pageObjs[0] = new KiseiScreen({ dataPageID: 'data_page0', infoPageID: 'info_page0', checkPrefix: 'honjitu', mode: 'honjitu' , banner: '本日の規制', buttonID: 'button_page0' }); pageObjs[1] = new KiseiScreen({ dataPageID: 'data_page1', infoPageID: 'info_page1', checkPrefix: 'kongo', mode: 'kongo' , banner: '今後の規制', buttonID: 'button_page1' }); pageObjs[2] = new JizenScreen({dataPageID: 'data_page2', infoPageID: 'info_page2' , banner: '事前通行規制区間情報', buttonID: 'button_page2' }); pageObjs[3] = new ToukiScreen({dataPageID: 'data_page3', infoPageID: 'info_page3' , banner: '道路カメラ・冬期道路情報', buttonID: 'button_page3' }); pageObjs[4] = new KinkyuScreen({dataPageID: 'data_page4', infoPageID: 'info_page4' , banner: '緊急輸送道路情報', buttonID: 'button_page4' }); pageObjs[5] = new WarningScreen({dataPageID: 'data_page5', infoPageID: 'info_page5' , banner: '走行注意区間', buttonID: 'button_page5' }); // 2017.02.03 INS YAMAKEN END // 20170217 TS mod center(中心座標)を追加、zoomを設定 // 全域 area_list[0] = { areaid : 'all', bounds : new L.latLngBounds([34.102707, 132.083129], [35.056980, 133.439941]), zoom : null, buttonid: 'button_all', imgsrc : './images/map_all.png', numcolor: 'red/' }; // 広島・呉 area_list[1] = { areaid : 'kure', bounds : new L.latLngBounds([34.615458, 132.032341], [34.071196, 132.893394]), zoom : null, buttonid: 'button_kure', imgsrc : './images/map_hiroshima.png', numcolor: 'blue/', }; // 芸北 area_list[2] = { areaid : 'geihoku', bounds : new L.latLngBounds([34.861475,132.107872],[34.498967,132.827477]), zoom : null, buttonid: 'button_geihoku', imgsrc : './images/map_geihoku.png', numcolor: 'maroon/' }; // 東広島・竹原 area_list[3] = { areaid : 'higasi', bounds : new L.latLngBounds([34.604156,132.576164],[34.179195,133.018364]), zoom : null, buttonid: 'button_higasi', imgsrc : './images/map_takehara.png', numcolor: 'fuchsia/' }; // 備北 area_list[4] = { areaid : 'bihoku', bounds : new L.latLngBounds([35.100017,132.62011],[34.58946,133.334221]), zoom : null, buttonid: 'button_bihoku', imgsrc : './images/map_bihoku.png', numcolor: 'aqua/' }; // 福山・尾三 area_list[5] = { areaid : 'hukuyama', bounds : new L.latLngBounds([34.871616,132.83709],[34.22122,133.46743]), zoom : null, buttonid: 'button_hukuyama', imgsrc : './images/map_fukuyama.png', numcolor: 'green/' }; YAHOO.util.Event.addListener('about_honjitu', 'click', function() { myPopupWindow.showSingle("本日の規制とは", "

\ 翌日の午前8時00分までに行われる規制情報を提供しています。
\
\ ○情報提供路線について
\ 国土交通省が管理する道路(広島県内のみ)と広島県が管理する
\ 道路(国道,県道)について情報提供を行っています。
\
\ ○提供する規制情報
\  ・工事規制
\   →道路工事等による通行規制
\   (※広島県が管理する道路は「終日の規制」のものを提供しています)
\  ・冬期閉鎖
\   →除雪が困難な道路について実施する冬期の通行止め
\  ・災害規制
\   →災害(異常気象)の発生による通行規制
\  ・事故規制
\   →事故によって道路が破損した場合等に実施する通行規制
\  ・事前通行規制
\   →異常気象時等において事故を未然に防止するための通行規制
\

"); }, null, false); YAHOO.util.Event.addListener('about_kongo', 'click', function() { myPopupWindow.showSingle("今後の規制とは", "

\ 1月7日の午前8時00分から1月13日の間に行われる予定の
\ 継続と新規の規制情報を提供しています。
\
\ ○情報提供路線について
\ 国土交通省が管理する道路(広島県内のみ)と広島県が管理する
\ 道路(国道,県道)について情報提供を行っています。
\
\ ○提供する規制情報
\ ・工事規制 
\  →道路工事等による通行規制
\   (※広島県が管理する道路は「終日の規制」のものを提供しています)
\ ・冬期閉鎖
\  →除雪が困難な道路について実施する冬期の通行止め
\ ・災害規制
\  →災害(異常気象)の発生による通行規制
\ ・事故規制
\  →事故によって道路が破損した場合等に実施する通行規制
\ ・事前通行規制
\  →異常気象時等において事故を未然に防止するための通行規制
\

"); }, null, false); YAHOO.util.Event.addListener('about_jizen', 'click', function() { myPopupWindow.showSingle("事前通行規制区間とは", "

\ 大雨や台風等による土砂崩れや落石等の恐れがある区間について,
\ 過去の記録等を元に予め定めた規制の基準に達した場合に,
\ 災害が発生する前に「通行止め」などの規制を実施する区間をいいます。
\
\ ◯情報提供路線について
\ 広島県が管理する道路(国道,県道)について情報提供を行っています。
\

"); }, null, false); /* 201712 TS add start */ YAHOO.util.Event.addListener('about_rinko', 'click', function() { myPopupWindow.showSingle("海田大橋・広島はつかいち大橋の
通行規制区間とは", "

\ 広島港湾振興事務所が管理する海田大橋,広島はつかいち大橋について,\ 雨,風,地震,霧,積雪・凍結などによる\ 通行規制の情報を提供しています。\

"); }, null, false); /* 201712 TS add end */ YAHOO.util.Event.addListener('about_jizenwinter', 'click', function() { myPopupWindow.showSingle("冬期閉鎖区間とは", "

\ 積雪や路面凍結により除雪が困難な区間について,
\ 冬期(概ね12月15日~3月15日まで)の間,通行を禁止する区間をいいます。
\
\ ◯情報提供路線について
\ 広島県が管理する道路(国道,県道)について情報提供を行っています。
\

"); }, null, false); YAHOO.util.Event.addListener('about_winter', 'click', function() { myPopupWindow.showSingle("道路カメラ・冬期道路情報とは", "

\ 道路のライブ画像,路面状況を提供しています。
\ 10分ごとに情報を更新しています。システム・回線の状況により更新が\ 遅れる場合があります。
\ 冬期道路情報(積雪深,圧雪深,気温,路面温度,路面状態)は,12月1日~3月31日のみの情報提供となります。
\
\ ◯情報提供路線について
\ 広島県が管理する道路(国道,県道)について情報提供を行っています。
\

"); }, null, false); YAHOO.util.Event.addListener('mesh_hanrei', 'click', function() { myPopupWindow.showSingle("凡例", '\ \ \ \ \ \
実況で基準値超過
2時間後までに基準値超過
大雨警報(土砂災害)基準超過
大雨注意報基準超過
'); }, null, false); selectArea(0, true); //全域選択 selectTab(0); /* 20170214 TS add start */ 'use strict'; $('#collapseOne').on({ // 折り畳み開く処理 'show.bs.collapse': function() { $('a[href="#' + this.id + '"] span.glyphicon-plus-sign') .removeClass('glyphicon-plus-sign') .addClass('glyphicon-minus-sign'); }, // 折り畳み閉じる処理 'hide.bs.collapse': function() { $('a[href="#' + this.id + '"] span.glyphicon-minus-sign') .removeClass('glyphicon-minus-sign') .addClass('glyphicon-plus-sign'); } }); /* 20170214 TS add end */ }); function dsp_Osirase(){ // 成功 var handleSuccess = function(o){ if(o.responseText !== undefined){ if(o.responseText != ""){ eval("dspdata = new Array(" + o.responseText + ");"); myPopupWindow.showSingle( htmlspecialchars_decode(dspdata[0]), htmlspecialchars_decode(dspdata[1])); } } }; // 失敗 var handleFailure = function(o){ if(o.responseText !== undefined){ } }; //var apiUrl = "getOsirase.php"; var apiUrl = "osirase.txt"; var postData = ""; var callback = { success: handleSuccess, failure: handleFailure }; var request = YAHOO.util.Connect.asyncRequest('POST', apiUrl, callback, postData); } dsp_Osirase(); /* お知らせ表示 */ /* S-TTEC */ var htmlspecialchars_decode = function(str) { return str.replace(/&(gt|lt|#039|quot|amp);/ig, function($0, $1) { if (/^gt$/i.test($1)) return ">"; if (/^lt$/i.test($1)) return "<"; if (/^#039$/.test($1)) return "'"; if (/^quot$/i.test($1)) return "\""; if (/^amp$/i.test($1)) return "&"; }); }; /* E-TTEC */ function debug() { } //]]> window.onresize= function(){ //map.setCenter(nowcenter); };

本日の規制とは


その他情報

凡例

その他情報


今後の規制とは


二次被害を防止するため,事前通行規制区間の見直しや追加を行っております。
詳細は,
「こちら」


事前通行規制区間とは


海田大橋・広島はつかいち大橋の
    通行規制区間とは


冬期閉鎖区間とは


 広島県が管理する国道や県道(国が管理する国道や広島市が管理する県道は含みません)のうち,落石やがけ崩れの発生するおそれが高い区間を,走行注意区間として情報提供しています。

 

注)走行注意区間以外においても,落石やがけ崩れのおそれがありますので,道路を走行する際には,十分注意をお願いします。