かがわ防災Webポータル

かがわ防災Webポータル

地域を選択
文字の大きさ

Language

//
//
緊急情報情報一覧

緊急情報 はありません。

件中 件目'); $('.current').text(slick.currentSlide + 1); $('.total').text(slick.slideCount); }) .on('beforeChange', function(event, slick, currentSlide, nextSlide) { $('.current').text(nextSlide + 1); }); $('.slider').slick({ autoplay: true, //自動再生[default:false] autoplaySpeed: 10000, //自動再生の速度(ミリ秒)[default:3000] dots: true, //ドットナビの表示[default:false] draggable: true //マウスドラッグでスライド切替[default:true] })
の最新情報' + dt + '' ); */ myAreaArray.push( '' + area + 'の最新情報' ); myArea.append(myAreaArray.join('')); table.append('取得中・・・'); areaAjax(url,file,data); } //マイエリアの最新情報生成 function myAreainfo(data){ //マイエリアタブ情報エリア内表示かどうか var myAreaInTabsInformationFlg = true || false; var table = $(classname); var myArea = $('.myareaInner'); var myAreaArray = []; var tableArray = []; var attentionArr = ''; var attentionMsg = ''; // 市町村名の設定 myArea.empty(); myAreaArray.push( '' + data['cityName'] + 'の最新情報' ); myArea.append(myAreaArray.join('')); // 気象注意報・警報 attentionMsg = ''; if (data['attention'].length == 0){ //attentionMsg = '注意報・警報は出ていません。'; attentionMsg = '情報はありません。'; }else{ for(var i = 0; i < data['attention'].length; i++){ var info = data['attention'][i]; attentionMsg += '' + info['text'] + ''; } } // 避難情報 var evacuationMsg = ''; var viewevInfoCount = false; if(data['evacuation'].length == 0 ){ evacuationMsg = '情報はありません。'; }else{ for(var i = 0; i < data['evacuation'].length; i++){ var info = data['evacuation'][i]; // if(viewevInfoCount){ if(viewevInfoCount && info['count']){ evacuationMsg += '' + info['text'] + ' ' + info['count'] + 'か所'; }else{ evacuationMsg += '' + info['text'] + ''; } if (info['text'] == '訂正') { evacuationMsg += '
'; } } if("".length > 0){ evacuationMsg = '
' + evacuationMsg + '
詳細情報
'; } } // 避難所情報 var shelterMsg = ''; var viewshelterInfoCount = false; if(data['shelter'].length == 0){ shelterMsg = '情報はありません。'; }else{ for(var i = 0; i < data['shelter'].length; i++){ var info = data['shelter'][i]; // if(viewshelterInfoCount){ if(viewshelterInfoCount && info['count']){ shelterMsg += '' + info['text'] + ' ' + info['count'] + 'か所'; }else{ shelterMsg += '' + info['text'] + ''; } if (info['text'] == '訂正') { shelterMsg += '
'; } } if("".length > 0){ shelterMsg = '
' + shelterMsg + '
詳細情報
'; } } // 地震・津波 var earthquakeMsg = ''; if(data['earthquake'].length > 0){ for(var i = 0; i < data['earthquake'].length; i++){ var info = data['earthquake'][i]; earthquakeMsg += '' + info['text'] + ''; } } if(data['tsunami'].length > 0){ for(var i = 0; i < data['tsunami'].length; i++){ var info = data['tsunami'][i]; earthquakeMsg += '' + info['warntext'] + ':' + info['text'] + ''; } } if(earthquakeMsg.length == 0){ earthquakeMsg = '情報はありません。'; } // 土砂災害警戒情報 var sedimentMsg = ''; if(data['sediment'].length == 0 ){ sedimentMsg = '情報はありません。'; }else{ for(var i = 0; i < data['sediment'].length; i++){ var info = data['sediment'][i]; sedimentMsg += '' + info['text'] + ''; } } // 本部情報 var honbuMsg = ''; if(data['honbu'].length == 0){ honbuMsg = '情報はありません。'; }else{ /* // 本部設置情報は1データのみ var info = data['honbu'][0]; honbuMsg = '' + info['text'] + ''; */ for(var i = 0; i < data['honbu'].length; i++){ var info = data['honbu'][i]; honbuMsg += '' + info['text'] + ''; if (info['text'] == '訂正') { honbuMsg += '
'; } } } // 取得した情報を設定 // タブ情報エリア内表示かどうかで構造を変える。 if ( !myAreaInTabsInformationFlg || (myAreaInTabsInformationFlg && false)) { tableArray.push( //'
注意報・警報
' + attentionMsg + '
', '
警報・注意報
' + attentionMsg + '
', //'
地震
' + earthquakeMsg + '
土砂災害警戒情報
' + sedimentMsg + '
', '
震度・津波
' + earthquakeMsg + '
土砂災害警戒情報
' + sedimentMsg + '
', '
避難情報
' + evacuationMsg + '
避難所情報
' + shelterMsg + '
', '
本部設置情報
' + honbuMsg + '
' ); } else { // style 属性を使用したのはclassで指定すると、優先順位で負けてしまうため。 tableArray.push( '
避難情報
' + evacuationMsg + '
', '
避難所情報
' + shelterMsg + '
', //'
注意報・警報
' + attentionMsg + '
', '
警報・注意報
' + attentionMsg + '
', //'
地震
' + earthquakeMsg + '
', '
震度・津波
' + earthquakeMsg + '
', '
土砂災害警戒情報
' + sedimentMsg + '
', '
本部設置情報
' + honbuMsg + '
' ); } table.empty(); table.append(tableArray.join('')); // 追加情報表示 if(false){ if(data['additional'] != ''){ $('#additionalInfo').append(data['additional']); } } if(true){ // 詳細へボタン有効化 $(".btn_detail").show(); $(".btn_detail").click(function(){ window.location.href = '/P_PUB_VF_CityInfo?city=' + selectObj()['areaSelect'].val(); return false; }); } var kind = getParam('kind'); if(kind == 'ev'){ $(document).scrollTop( $("#" + "").offset().top); }else if(kind =='sh'){ $(document).scrollTop( $("#" + "").offset().top ); } } //地域情報を保存用のオブジェクト生成 function selectData(category,area){ var obj = { category: category.text(), categoryVal : category.val(), area: area.text(), areaVal: area.val() } return obj; } //地域情報を保存 function setStorageTimer(key,value,limit){ limit = limit === undefined ? false: (new Date).getTime() + limit * 1000; var data = { limit: limit, value: value }; localStorage.setItem(key, JSON.stringify(data)); } //保存された地域情報の読み込み function loadStorage(){ var keeptime = getLstroge('keeptime'); if (keeptime == null ) { return false; } keeptime = JSON.parse(keeptime); if (keeptime['limit'] > (new Date).getTime()) { loadSelectBox(keeptime['value']); } else { localStorage.removeItem('keeptime'); localStorage.removeItem('data'); } } //マイエリアがある場合のセレクトボックス function loadSelectBox(stdata){ var categoryVal = stdata['categoryVal']; var url = ajaxPath(); var data = { area1 : categoryVal } areaAjax(url,categoryVal,data,TYPE.INIT_AREA); } //マイエリアの保存期限のセット function resetTimer(){ var categorySelect = selectObj()['categorySelect']; var arealistSelect = selectObj()['areaSelect']; var obj = selectData(categorySelect,arealistSelect); setStorageTimer('keeptime', obj, limitTime); } //地域選択の初期値 function setInitSelectBoxCategory(){ var keeptime = getLstroge('keeptime'); if (keeptime == null ) { return false; } keeptime = JSON.parse(keeptime); var stdata = keeptime['value']; var category = selectObj()['category']; var categoryVal = stdata['categoryVal']; category.val(categoryVal); var file = String(category.val()); var url = ajaxPath(); var data = { area1 : category.val() }; areaAjax(url,file,data,TYPE.INIT_VALUE); } //市町村選択の初期値 function setInitSelectBoxArea(){ var keeptime = getLstroge('keeptime'); if (keeptime == null ) { return false; } keeptime = JSON.parse(keeptime); var stdata = keeptime['value']; var area = selectObj()['area']; var areaVal = stdata['areaVal']; var areaText = stdata['area']; area.val(areaVal); myareaWrite(areaText); if(typeof changeCoordZoom == 'function'){ changeCoordZoom(areaText); } if(typeof changeViewImage == 'function'){ changeViewImage(areaVal,areaText); } openCityList(areaText); resetTimer(); } $(document).ready(function(){ if(false){ classname = '.info_table2'; }else{ classname = '.info_table'; } if("".length > 0){ myareaWrite(""); }else{ selectCategory(); selectArea(); selectCategoryInit(); } if(!true){ $(".pld").hide(); } if(!true){ $(".btn_detail").hide(); } if(!false){ $(".pld").addClass("pld3"); $("#selectShibu").hide(); $("#area_category").hide(); $("#area_category:after").hide(); $(".myarea").addClass("myarea3"); } });
地図の種類
'; } } // legend.innerHTML += ''; if(layerMaster.Name == "土砂災害警戒区域等(公表)" || layerMaster.Name == "土砂災害警戒区域等(指定)"){ innerHTML += ''; }else if(layerMaster.Name == "高松市" || layerMaster.Name == "直島町" || layerMaster.Name == "土庄町" || layerMaster.Name == "小豆島町" || layerMaster.Name == "さぬき市" || layerMaster.Name == "東かがわ市" || layerMaster.Name == "三木町" || layerMaster.Name == "丸亀市" || layerMaster.Name == "坂出市" || layerMaster.Name == "善通寺市" || layerMaster.Name == "宇多津町" || layerMaster.Name == "綾川町" || layerMaster.Name == "琴平町" || layerMaster.Name == "多度津町" || layerMaster.Name == "まんのう町" || layerMaster.Name == "観音寺市" || layerMaster.Name == "三豊市" || layerMaster.Name == "防災重点ため池"){ innerHTML += ''; }else{ innerHTML += ''; } } legend.innerHTML = '
' +innerHTML + '
'; // 凡例エリアの作成 // var legendArea = L.control({position: 'bottomright'}); legendArea = L.control({position: 'bottomright'}); legendArea.onAdd = function(){ return legend; } legendArea.addTo(map); } // 初期表示レイヤ設定 var requestList = []; for(let key in dispLayerKind){ if(dispLayerKind[key] == true){ requestList.push(key); } } if(requestList.length > 0){ // 表示レイヤが既に設定されている場合は表示 changeLayerKind(requestList.join(',')); }else{ var defaultLayer = '1'; if(defaultLayer.length > 0 && !noDefaultLayer){ changeLayerKind(defaultLayer); } } // 表示市町村名が設定されている時は移動 if(dispCityName.length > 0){ changeCoordZoom(dispCityName); dispCityName = ''; } // 引数で初期表示レイヤ設定時は表示 var layerKind = getParam('lk'); if(layerKind != null && layerKind.length > 0){ changeLayerKind(layerKind); } // レイヤコントロール利用フラグチェック if(!false){ return; } // レイヤコントロールの生成 // var overlayMaps = {}; var overlayList = []; var overlayWorkMap = {}; for(var i = 0 ; i < layerMasterList.length ; i++){ var layerMaster = layerMasterList[i]; // overlayMaps[layerMaster.Name] = layers[layerMaster.LayerKind__c]; // まずは下地を作る if(layerMaster.ParentID__c == null){ // ルートの場合 overlayMaps = { label: layerMaster.Name, selectAllCheckbox: layerMaster.canLayerChange__c, children: [] }; overlayWorkMap[layerMaster.ID__c] = overlayMaps; }else if(layerMaster.DispTargetFlag__c){ // レイヤ(リーフ)の場合 if(layerMaster.kakudaiDispTarget__c){ var overlay = { label: layerMaster.Name, layer: layers[layerMaster.LayerKind__c], parentId: layerMaster.ParentID__c } overlayList.push(overlay); } }else{ // ノードの場合 var overlay = { label: layerMaster.Name, selectAllCheckbox: layerMaster.canLayerChange__c, children: [], Id: layerMaster.ID__c, parentId: layerMaster.ParentID__c, collapsed:true } overlayList.push(overlay); overlayWorkMap[layerMaster.ID__c] = overlay; } } // 次にツリーを形成していく for(var i = 0 ; i < overlayList.length ; i++){ var overlay = overlayList[i]; var parentlay = overlayWorkMap[overlay.parentId]; if(parentlay != null){ parentlay['children'].push(overlay); } } // layerSelectControl = L.control.layers(null, // overlayMaps, // { // position:'topleft', // // // collapsed:false, // collapsed:true, // // sortLayers:true, // sortFunction : function(layerA , layerB , nameA , nameB){ // var layerMasterA = layerKindMap[layerMap[nameA]]; // var layerMasterB = layerKindMap[layerMap[nameB]]; // return layerMasterA.DispOrder__c - layerMasterB.DispOrder__c; // } // }); layerSelectControl = L.control.layers.tree(null, overlayMaps,{position:'topleft',collapsed:true}); L.DomEvent.disableScrollPropagation(layerSelectControl); // L.DomEvent.disableClickPropagation(layerSelectControl); try{ // L.DomEvent.disableClickPropagation(layerSelectControl); }catch(e){ } layerSelectControl.addTo(map); // mouseenter,mouseleaveによるレイヤ選択ダイアログのONOFFを抑制 L.DomEvent.off(layerSelectControl.getContainer(),{mouseleave: layerSelectControl.collapse},layerSelectControl); L.DomEvent.off(layerSelectControl.getContainer(),{mouseenter: layerSelectControl.expand},layerSelectControl); // ポップアップ表示時にレイヤ選択ダイアログを閉じる map.on('popupopen',function(e){ layerSelectControl.collapse(); }); // 凡例クリック時にレイヤ選択ダイアログを閉じる if(legendArea != null){ L.DomEvent.on(legendArea.getContainer(),{click: layerSelectControl.collapse},layerSelectControl); } layerSelectControl.expand(); } /** * 凡例表示ソート用 * * @param 比較対象A * @param 比較対象B */ function compareLegendDisp(a,b){ return a.LegendDispOrder__c - b.LegendDispOrder__c; } /** * Salesforceデータ取得 */ function LoadSalesforceData(layerKind){ // すでに取得している場合は無視 if( layerDataLoaded[layerKind] == true){ return; } layerDataLoaded[layerKind] = true; pleaseWait(); Visualforce.remoting.Manager.invokeAction( 'P_PUB_CL_MapCtrl.GetSalesforceData',layerKind,false, function(result,event){ // 結果の確認 if ( !event.status ) { ajaxOnFailure( 'GetSalesforceData', event.message ); waitOver(); return; } if ( !result.status ) { ajaxOnFailure( 'GetSalesforceData', result.message ); waitOver(); return; } // 雨量の取得 if(result.uryoList != null){ suiboUryoList = result.uryoList; } if(result.uryoUpdateTime != null){ suiboUryoUpdateTime = result.uryoUpdateTime; } // 10分雨量(水防)の取得 if(result.suiboUryo10MinList != null){ suiboUryo10MinList = result.suiboUryo10MinList; } if(result.suiboUryo10MinUpdateTime != null){ suiboUryo10MinUpdateTime = result.suiboUryo10MinUpdateTime; } // 時間雨量(水防)の取得 if(result.suiboUryoHourList != null){ suiboUryoHourList = result.suiboUryoHourList; } if(result.suiboUryoHourUpdateTime != null){ suiboUryoHourUpdateTime = result.suiboUryoHourUpdateTime; } // 雨量(砂防)の取得 if(result.saboUryoList != null){ saboUryoList = result.saboUryoList; } if(result.saboUryoUpdateTime != null){ saboUryoUpdateTime = result.saboUryoUpdateTime; } // 10分雨量(砂防)の取得 if(result.saboUryo10MinList != null){ saboUryo10MinList = result.saboUryo10MinList; } if(result.saboUryo10MinUpdateTime != null){ saboUryo10MinUpdateTime = result.saboUryo10MinUpdateTime; } // 時間雨量(砂防)の取得 if(result.saboUryoHourList != null){ saboUryoHourList = result.saboUryoHourList; } if(result.saboUryoHourUpdateTime != null){ saboUryoHourUpdateTime = result.saboUryoHourUpdateTime; } // 水位の取得 if(result.suiiList != null){ suiboSuiiList = result.suiiList; } if(result.suiiUpdateTime != null){ suiboSuiiUpdateTime = result.suiiUpdateTime; } // ダムの取得 if(result.damList != null){ suiboDamList = result.damList; } if(result.damUpdateTime != null){ suiboDamUpdateTime = result.damUpdateTime; } // 気象注警報の取得 if(result.kishouWarningList != null){ kishouWarningList = result.kishouWarningList; } if(result.kishouUpdateTime != null){ kishouUpdateTime = result.kishouUpdateTime; } // 避難勧告情報の取得 if(result.hinankankokuList != null){ hinankankokuList = result.hinankankokuList; } if(result.hinankankokuUpdateTime != null){ hinankankokuUpdateTime = result.hinankankokuUpdateTime; } if(result.hatsureikuikiTextMap != null) { hatsureiShubetsuMapping = result.hatsureikuikiTextMap; } // 避難所情報の取得 if(result.hinanjyoList != null){ hinanjyoList = result.hinanjyoList; } if(result.hinanjyoUpdateTime != null){ hinanjyoUpdateTime = result.hinanjyoUpdateTime; } // 地震情報の取得 if(result.earthquakeList != null){ earthquakeList = result.earthquakeList; } if(result.earthquakeUpdateTime != null){ earthquakeUpdateTime = result.earthquakeUpdateTime; } // 津波情報の取得 if(result.tsunamiList != null){ tsunamiList = result.tsunamiList; } if(result.tsunamiUpdateTime != null){ tsunamiUpdateTime = result.tsunamiUpdateTime; } // 土砂災害警戒情報の取得 if(result.doshakeikaiList != null){ doshakeikaiList = result.doshakeikaiList; } if(result.doshakeikaiUpdateTime != null){ doshakeikaiUpdateTime = result.doshakeikaiUpdateTime; } // 火山・噴火警報情報の取得 if(result.kazanPointList != null){ kazanPointList = result.kazanPointList; } if(result.volcWarnList != null){ volcWarnList = result.volcWarnList; } if(result.kazanUpdateTime != null){ kazanUpdateTime = result.kazanUpdateTime; } // 潮位情報の取得 if(result.chouiList != null){ suiboChouiList = result.chouiList; } if(result.chouiUpdateTime != null){ suiboChouiUpdateTime = result.chouiUpdateTime; } // 観測所震度情報の取得 if(result.shindoList != null){ shindoList = result.shindoList; } if(result.shindoUpdateTime != null){ shindoUpdateTime = result.shindoUpdateTime; } // 避難所ポイント情報の取得 if(result.hinanjyoPointList != null){ hinanjyoPointList = result.hinanjyoPointList } if(result.hinanjyoPointUpdateTime != null){ hinanjyoPointUpdateTime = result.hinanjyoPointUpdateTime; } //避難所マスタ情報の取得 if(result.hinanjyoMasterList != null){ hinanjyoMasterList = result.hinanjyoMasterList } // 道路規制情報の取得 if(result.roadRegulationList != null) { roadRegulationList = result.roadRegulationList; } if(result.roadRegulationUpdateTime != null){ roadRegulationUpdateTime = result.roadRegulationUpdateTime; } // ダム情報の取得 if(result.damList != null){ damList = result.damList; // ダムのフラグ1が190の場合は、アイコン画像を欠測に変更する for( var i=0; i 0){ changeCoordZoom(viewCityName); changeKakudaiMapLink(); } } /** * ラスタイメージ表示 */ /** * ラスタイメージ表示 */ function dispRasterImage(){ for(let key in layerDispStatus){ if(layerDispStatus[key] == true){ if(false && (key == LAYER_KIND.HAZARD_ANNOUNCEMENT || key == LAYER_KIND.HAZARD_DESIGNATION)){ continue; } var kindNum = Number(key); if(kindNum >= 100 && kindNum < 200){ dispRasterImageInner(key); } } } } /** * マーカー配列に対しマーカーを生成して追加する(KMLマーカー生成) * @param markers {array} 追加対象の配列 * @param url マーカー生成元のURL */ function createDoshaMeshKmlMarker(url) { var markers = []; // kmlファイルのURLが存在しない場合は読込を行ったものとして処理をスキップ if (typeof url === "undefined") { return; } // kmlファイルのURLがnullの場合は読込を行ったものとして処理をスキップ if (url == null) { return; } // kmlファイルのURLがカラ文字の場合は読込を行ったものとして処理をスキップ if (url == '') { return; } // URLがある場合に土砂メッシュ情報のKML情報を読み込む // レイヤを生成する処理 // var Map_KML = new L.KML("/resource/1596178626000/DoshaMeshKML", {async: true}).on("loaded", function(e) { }); var Map_KML = new L.KML(url, {async: true}).on("loaded", function(e) { }); // マーカーにセット markers.push(Map_KML); return markers; } function createKmlMarker(layerMaster) { var markers = []; // 主従関係のイメージレイヤマスタが存在しない場合は読込を行ったものとして処理をスキップ if (layerMaster.ImageMstToLayerMst__r == null) { return; } // kmlファイルのURLが存在しない場合は読込を行ったものとして処理をスキップ if (typeof layerMaster.ImageMstToLayerMst__r[0].ImageURL__c === "undefined") { return; } // kmlファイルのURLがnullの場合は読込を行ったものとして処理をスキップ if (layerMaster.ImageMstToLayerMst__r[0].ImageURL__c == null) { return; } // kmlファイルのURLがカラ文字の場合は読込を行ったものとして処理をスキップ if (layerMaster.ImageMstToLayerMst__r[0].ImageURL__c == '') { return; } // URLがある場合にKML情報を読み込む var items = layerMaster.kmlLayerDisplayItem__c.split(';'); var PointIcon = L.icon({ iconUrl: layerMaster.Legends__r[0].ImageURL__c, iconSize: [layerMaster.IconWidth__c, layerMaster.IconHeight__c], iconAnchor: [layerMaster.IconWidth__c/2, layerMaster.IconHeight__c/2] }); var Map_KML_Property = L.geoJson(null, { pointToLayer: function (feature, layer) { return L.marker(layer, { icon: PointIcon }); } , onEachFeature: function(feature,layer) { var table = ''; items.forEach (function (item) { table += ' '; table += ' '; table += ' '; table += ' '; }); table += '
' + item + ''; if (typeof feature.properties[item] === 'undefined' || feature.properties[item] === '') { table += '-'; } else if (item.indexOf('URL') !== -1) { table += ' リンク'; } else { table += feature.properties[item]; } table += '
'; layer.bindPopup(table); } }); // レイヤを生成する処理 var Map_KML = omnivore.kml(layerMaster.ImageMstToLayerMst__r[0].ImageURL__c, null, Map_KML_Property); // マーカーにセット markers.push(Map_KML); return markers; } /** * ラスタイメージ表示(内部) */ function dispRasterImageInner(layerKind){ var zoom = map.getZoom(); var bounds = map.getBounds(); var layerMaster = layerKindMap[layerKind]; var rasterImageList = rasterImageMap[layerMaster.LayerKind__c]; var rasterLayer = layers[layerMaster.LayerKind__c]; rasterLayer.clearLayers(); // 各画像用のイメージレイヤを間引いて作成していく for(var i = 0 ; i < rasterImageList.length ; i++){ var rasterImage = rasterImageList[i]; //間引き // 座標、ズームレベルが以下条件の場合は間引く // 現在のズームレベルがラスタイメージの最小ズームレベルより小さい // 現在のズームレベルがラスタイメージの最大ズームレベルより大きい // 現在の下部緯度がラスタイメージの上部緯度より大きい // 現在の上部緯度がラスタイメージの下部緯度より小さい // 現在の左部経度がラスタイメージの右部経度より大きい // 現在の右部経度がラスタイメージの左部経度より小さい if(zoom < rasterImage.minZoomLevel__c || zoom > rasterImage.maxZoomLevel__c || bounds._southWest.lat > rasterImage.topLat__c || bounds._northEast.lat < rasterImage.bottomLat__c || bounds._southWest.lng > rasterImage.rightLng__c || bounds._northEast.lng < rasterImage.leftLng__c ){ continue; } rasterLayer.addLayer( L.imageOverlay(rasterImage.ImageURL__c, [ [Number(rasterImage.bottomLat__c),Number(rasterImage.leftLng__c)], [Number(rasterImage.topLat__c),Number(rasterImage.rightLng__c)] ], { opacity:Number(layerMaster.Opacity__c) }) ); } } //# sourceURL=p_pub_cm_map.js // 行政界情報取得 function getDivisionInfo(layerKind){ getBinaryContentAndUpate(DIVISION_ZIP_URL, function(err, data) { if(err) { ajaxOnFailure( 'getDivisionInfo', err ); return; } try{ JSZip.loadAsync(data) .then(function(zip) { return zip.file(MAP_GEOJSON).async("string"); }) .then(function success(text) { divisionInfo = JSON.parse(text); dispHazardkmlInner(layerKind,true); }); }catch(e){ ajaxOnFailure( 'getDivisionInfo', e ); } });//getBinaryContentAndUpate } //ハザードKML表示 function dispHazardkml(){ if(layerDispStatus[LAYER_KIND.HAZARD_ANNOUNCEMENT]){ dispHazardkmlInner(LAYER_KIND.HAZARD_ANNOUNCEMENT); } if(layerDispStatus[LAYER_KIND.HAZARD_DESIGNATION]){ dispHazardkmlInner(LAYER_KIND.HAZARD_DESIGNATION); } } //ハザードKML表示 function dispHazardkmlInner(layerKind, needLoadedEvent){ var center = map.getCenter(); var cityName = null; for(var i = 0 ; i < divisionInfo.features.length ; i++){ var coordinates = divisionInfo.features[i].geometry.coordinates; var poly = turf.helpers.polygon(coordinates); var point = turf.helpers.point([center.lng,center.lat]); if(turf.booleanPointinPolygon.default(point,poly,true)){ cityName = divisionInfo.features[i].properties.N03_004; break; } } if(cityName == null){ // 対象市町村が存在しない時はKML非表示 var kmlLayer = layers[layerKind]; kmlLayer.clearLayers(); viewKMLCityMap[layerKind] = null; }else{ // 前回値と対象市町村が異なる場合は読み込み開始 if(viewKMLCityMap[layerKind] != cityName){ makeHazardLayer(layerKind,cityName); viewKMLCityMap[layerKind] = cityName; } } if(needLoadedEvent){ onAfterMapLoaded(layerKind); } } // ハザードKMLレイヤ作成 function makeHazardLayer(layerKind,cityName){ var items=['郡市名','区町村名','字名','箇所番号','区域名','自然現象の種類','URL']; var kmlLayer = layers[layerKind]; kmlLayer.clearLayers(); var Map_KML_Property = L.geoJson(null, { style: function (feature) { var defColor = "#000000"; // 属性「KUBUN」で色判定 var kubun = feature.properties['KUBUN']; if(kubun != null && kubun.indexOf('レッド') >=0){ defColor = "#FF0000"; }else{ defColor = "#FFFF00"; } return { fillColor: defColor, //塗つぶしの色 fillOpacity: 0.8, //塗りつぶしの透過率 color: defColor, //外枠の色 opacity: 0.8,//外枠の透過率 weight: 1//外枠の太さ }; }, onEachFeature: function(feature,layer){ var table = ''; items.forEach (function (item) { table += ' '; table += ' '; table += ' '; table += ' '; }); table += '
' + item + ''; if (feature.properties[item] == null || feature.properties[item] === '') { table += '-'; } else if (item.indexOf('URL') !== -1) { table += ' リンク'; } else { table += feature.properties[item]; } table += '
'; layer.bindPopup(table); } }); // 読み込むKML判定 var rasterImageList = rasterImageMap[layerKind]; var kmlUrl = null; // 各画像用のイメージレイヤを間引いて作成していく for(var i = 0 ; i < rasterImageList.length ; i++){ if(rasterImageList[i].Name == cityName){ kmlUrl = rasterImageList[i].ImageURL__c; } } if(kmlUrl != null){ layers[layerKind].addLayer(omnivore.kml(kmlUrl, null, Map_KML_Property)); } }
一覧表示切替

お知らせ

  1. 2024年11月28日 17時00分 「河川水位」「雨量(水防)」「潮位」「ダム」の情報欠測について【県内全域】

  2. 2024年11月25日 09時00分 「道路規制」の情報提供について

過去のお知らせ一覧

本部設置情報

本部設置情報 はありません。

過去の本部設置情報一覧

サイドメニュー

ページ上部へ