// 地理院タイル出典の共通の表示 var mbAttr = "地理院タイル"; //地理院地図 GSISTD = L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png', {attribution: mbAttr}); //地理院写真 GSIPHOTO = L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/seamlessphoto/{z}/{x}/{y}.jpg', {attribution: mbAttr}); //地理院写真(1945年~1950年) GSIort_USA10 = L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/ort_USA10/{z}/{x}/{y}.png', {attribution: mbAttr}); //地理院淡色地図 GSIPALE = L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/pale/{z}/{x}/{y}.png', {attribution: mbAttr}); //地理院色別標高図 GSIrelief = L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/relief/{z}/{x}/{y}.png', {maxNativeZoom: 15, attribution: mbAttr }); //地理院陰影起伏図 GSIshade = L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/hillshademap/{z}/{x}/{y}.png', {maxNativeZoom: 16, attribution: mbAttr }); //地理院白地図 GSIBLANK = L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/blank/{z}/{x}/{y}.png',{minZoom: 5,maxZoom: 14, attribution: mbAttr }); //地理院アナグリフ GSIanaglyph = L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/anaglyphmap_color/{z}/{x}/{y}.png',{minZoom: 5,maxZoom: 14, attribution: mbAttr }); //地理院傾斜量図 GSIslopemap = L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/slopemap/{z}/{x}/{y}.png',{minZoom: 5,maxZoom: 14, attribution: mbAttr }); //地理院英語 GSIenglish = L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/english/{z}/{x}/{y}.png',{minZoom: 5,maxZoom: 14, attribution: mbAttr }); //地理院地図 - overlay GSISTD_overlay = L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png', {opacity: 0.2, maxNativeZoom: 15, attribution: mbAttr }); //地理院色別標高図 - overlay GSIrelief_overlay = L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/relief/{z}/{x}/{y}.png', {opacity: 0.2, maxNativeZoom: 15, attribution: mbAttr }); //地理院陰影起伏図 - overlay GSIshade_overlay = L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/hillshademap/{z}/{x}/{y}.png', {opacity: 0.3, maxNativeZoom: 16, attribution: mbAttr }); //OpenStreetMap OSM = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {attribution: '© OpenStreetMap contributors'}); //Esri 道路地図 esri_worldStreet = L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x}', { attribution: 'Tiles © Esri — Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012'}); //Esri 衛星画像 esri_worldimagery = L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', {attribution: 'Tiles © Esri — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community'}); //Esri 衛星画像 - overlay esri_worldimagery_overlay = L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', {opacity: 0.6,attribution: 'Tiles © Esri — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community'}); //Esri 地形図 //Esri 地形図 esri_worldtopo = L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}', {attribution: 'Tiles © Esri — Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community'}); //google_maps var google_maps = L.tileLayer('https://mt1.google.com/vt/lyrs=r&x={x}&y={y}&z={z}', {attribution: "Google Map"}); //デフォルトの設定 - 地図中心点・ズーム値・レイヤーデフォルト表示 var map = L.map('map', {center: [38.376115,138.120117], zoom: 4, layers: [GSISTD]}); //住所検索枠を表示 var osmGeocoder = new L.Control.OSMGeocoder({ position: "topright", placeholder: '住所・キーワード入力',text: '検索'}); map.addControl(osmGeocoder); //中心点センターマーカー・十字マーカー・別画像を表示 var centercrossIcon = L.icon({ iconUrl: '/benri_img/center.gif', iconRetinaUrl: '/benri_img/center.gif', iconSize: [32, 32], // アイコンサイズ iconAnchor: [16, 16] // 画像の位置。左上が 0,0 }); var crosshair = new L.marker(map.getCenter(), {icon: centercrossIcon, clickable:false}); // clickable:falseをいれないと十字画像の下のアイコンが触れない map.on('move', function(e) { crosshair.setLatLng(map.getCenter()); }); // 雨雲レーダー L.YimgTileLayer = L.TileLayer.extend({ //雨雲画像オーバーレイ getTileUrl: function (coords) { //雨雲リクエスト日付の作成 var now = new Date(); var year = now.getFullYear(); var month = now.getMonth() + 1; var day = now.getDate(); var hours = now.getHours(); var minutes = now.getMinutes(); if (month < 10) month = '0' + month; if (day < 10) day = '0' + day; if (hours < 10) hours = '0' + hours; minutes *= 0.1; minutes = Math.floor(minutes); minutes *= 10; if (minutes < 10) minutes = '0' + minutes; date = "" + year + month + day + hours + minutes; return L.Util.template(this._url, L.extend({ d: date, x: coords.x, y: Math.pow(2, this._getZoomForUrl() - 1) - 1 - coords.y, z: this._getZoomForUrl() + 1 }, this.options)); } }); // 雨雲画像 var rainmap = new L.YimgTileLayer('http://weather.map.c.yimg.jp/weather?x={x}&y={y}&z={z}&size=256&date={d}', { attribution: 'Rain map', maxZoom: 18, opacity: 0.6 }); // 雨雲画像をクリックで表示 //}).addTo(map); // 雨雲画像をデフォルトで表示 var baseMaps = { "地理院地図": GSISTD, "地理院写真": GSIPHOTO, " ┗ 1945年~1950年": GSIort_USA10, "地理院淡色地図": GSIPALE, "地理院色別標高図": GSIrelief, "地理院陰影起伏図": GSIshade, "地理院傾斜量図": GSIslopemap, "地理院白地図": GSIBLANK, "地理院アナグリフ": GSIanaglyph, "地理院 English": GSIenglish, "OpenStreetMap": OSM, "Esri 道路地図": esri_worldStreet, "Esri 衛星画像": esri_worldimagery, "Esri 地形図": esri_worldtopo, "Google マップ": google_maps }; var overlay = { "センターマーカー": crosshair, //"雨雲情報": rainmap, "地理院地図": GSISTD_overlay, "地理院色別標高図": GSIrelief_overlay, "地理院陰影起伏図": GSIshade_overlay, "Esri 衛星画像": esri_worldimagery_overlay }; L.control.layers(baseMaps, overlay).addTo(map); //スケールを左下にも追加 L.control.scale().addTo(map); //デザイン化されたスケールを右下に表示 L.control.graphicScale({fill:'fill', position: 'bottomright' }).addTo(map); //ミニマップを表示 var osm2 = new L.TileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {minZoom: 0, maxZoom: 15, attribution: 'Map data © OpenStreetMap contributors' }); var miniMap = new L.Control.MiniMap(osm2, { toggleDisplay: true, position: 'bottomleft' }).addTo(map); //現在地を取得 var locate = L.control.locate({flyTo:true,strings: {title: "クリックすると現在地を取得します"} }).addTo(map); //フルスクリーンコントロール var fsControl = L.control.fullscreen(); map.addControl(fsControl); map.on('enterFullscreen', function(){ if(window.console) window.console.log('enterFullscreen'); }); map.on('exitFullscreen', function(){ if(window.console) window.console.log('exitFullscreen'); }); //マーカー情報保持 var markers=[]; //ポップアップを開く関数 function popupOn(id){ markers[id].openPopup(); } // 表示するポイント・内容 // 「markers[0]」は、連番でなくてはならない !! var Icon01= L.icon({iconUrl:'/map_icon_Leaflet/icon-with_shadow/DarkTurquoise.png',iconSize:[32,32],iconAnchor: [10, 32],popupAnchor: [0, -31]}); markers[0]=L.marker([24.283056,153.986667],{icon:Icon01}).addTo(map) .bindTooltip("最東端:東京都 南鳥島").bindPopup('

 個別地図へ  】

《最東端》
 東京都 南鳥島
 北緯 24°16′59″
 東経 153°59′12″
'); map.addLayer(markers[0]); function flyto_totan() { //目次と連動 map.flyTo(new L.LatLng(24.283056,153.986667),16); //マーカーの座標と連動 } var Icon02= L.icon({iconUrl:'/map_icon_Leaflet/icon-with_shadow/Red.png',iconSize:[32,32],iconAnchor: [10, 32],popupAnchor: [0, -31]}); markers[1]=L.marker([24.451389,122.9325],{icon:Icon02}).addTo(map) .bindTooltip("最西端:沖縄県 与那国島").bindPopup('

 個別地図へ  】

《最西端》
 沖縄県 与那国島
 北緯 24°27′05″
 東経 122°55′57″
'); map.addLayer(markers[1]); function flyto_seitan() { //目次と連動 map.flyTo(new L.LatLng(24.451389,122.9325),16); //マーカーの座標と連動 } var Icon03= L.icon({iconUrl:'/map_icon_Leaflet/icon-with_shadow/Blue.png',iconSize:[32,32],iconAnchor: [10, 32],popupAnchor: [0, -31]}); markers[2]=L.marker([20.425246,136.069812],{icon:Icon03}).addTo(map) .bindTooltip("最南端:東京都 沖ノ鳥").bindPopup('

 個別地図へ  】

《最南端》
 東京都 沖ノ鳥島
 北緯 20°25′31″
 東経 136°04′11″
'); map.addLayer(markers[2]); function flyto_nantan() { //目次と連動 map.flyTo(new L.LatLng(20.425246,136.069812),16); //マーカーの座標と連動 } var Icon04= L.icon({iconUrl:'/map_icon_Leaflet/icon-with_shadow/HotPink.png',iconSize:[32,32],iconAnchor: [10, 32],popupAnchor: [0, -31]}); markers[3]=L.marker([45.557228,148.752308],{icon:Icon04}).addTo(map) .bindTooltip("最北端:北海道 択捉島").bindPopup('

 個別地図へ  】

《最北端》
 北海道 択捉島
 北緯 45°33′26″
 東経 148°45′08″
'); map.addLayer(markers[3]); function flyto_hokutan() { //目次と連動 map.flyTo(new L.LatLng(45.557228,148.752308),16); //マーカーの座標と連動 } var Icon05= L.icon({iconUrl:'/map_icon_Leaflet/icon-with_shadow/Gainsboro.png',iconSize:[32,32],iconAnchor: [10, 32],popupAnchor: [0, -31]}); markers[4]=L.marker([35.6895, 139.691694],{icon:Icon05}).addTo(map) .bindTooltip("東京都庁").bindPopup('
《東京都庁》
 北緯 35°41′22.2″
 東経 139°41′30.1″
'); map.addLayer(markers[4]); function flyto_tocho() { //目次と連動 map.flyTo(new L.LatLng(35.6895, 139.691694),16); //マーカーの座標と連動 }