Map

Leaflet

Leaflet leafletjs.com/

設定

 ダウンロードしたleaflet.js、leaflet.cssにリンク

<link rel="stylesheet" href="leaflet.css">
<script type="text/javascript" src="leaflet.js"></script>

 もしくは

<link rel="stylesheet" href="https://unpkg.com/leaflet@1.2.0/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.2.0/dist/leaflet.js"></script>

 @1.2.0はバージョン

 スタイルでサイズ指定

<style>
#MAP{
width:900px;
height:900px;
}
</style>

 位置決め

<div id = "MAP"></div>

JavaScript内

<script>
var mp = L.map("MAP").setView([31.30 , 130.50] , 8);
L.tileLayer(
'https://cyberjapandata.gsi.go.jp/xyz/blank/{z}/{x}/{y}.png',
{attribution: "<a href = 'https://maps.gsi.go.jp/' target = '_blank'>国土地理院</a>"}
).addTo(mp);
L.control.scale()
.addTo(mp);
</script>

L.map()
 L.map(“MAP”)の"MAP"はID名(div id) ・・・ 任意

 .setView([31.30 , 130.50] , 8);で表示位置セット
  31.30は緯度、130.50は経度、8はズームレベル
   緯度・経度は60進法(分・秒)ではなく10進法

L.tileLayer()   

.addTo(mp)でmpへ追加

L.control.scale()
 スケール

L.marker()
 プロット - 目印(マーカー)

L.marker([31.59 , 130.66])
.addTo(mp);

L.circle()
 円(サークル)

L.circle([31.59 , 130.66] ,1000,{
color :'red'
})
.addTo(mp)
.bindPopup("さくらじま");

  ・・・ 円の半径:1000[m]、色:red

.bindPopup()でクリック(タップ)時、テキストがポップアップ

L.icon()
 デフォルトのマーカーを他のイメージに変える

var marker2 = L.icon({
iconUrl:'fune.png',
iconSize:[25,25]
});

L.marker([29.64 , 129.71],
{icon:marker2})
.addTo(mp);

L.polyline()
 線

mp.fitBounds(group.getBounds());

L.control.layers()
 レイヤーコントロール

L.control.layers(baseMaps,overlay,{position:'topleft'})
.addTo(mp);

 ベースマップ baseMaps
  ベースマップの切り替え
 オーバーレイ[マップ] overlay
  レイヤーの切り替え

一例)さくらじま~すわのせじま

複数箇所プロット

 繰り返し文 for文

var point = [
['十勝岳' , 43.42 , 142.69],
['雌阿寒岳' , 43.45 , 144.16],
['口永良部島' , 30.44 , 130.22],
['諏訪之瀬島' , 29.64 , 129.71],
];

for(var i=0;i<point.length;i++){
L.circle([point[i][1] , point[i][2]] , 1000 ,{
color:'red'
})
.addTo(map)
.bindPopup(point[i][0]);
}

 → 一例)活発な火山の分布

 データファイルからの読み込みも可   

  L.geoJson()

タイルレイヤー L.tileLayer()

 地図の種類指定
  attributionで引用元も記載

 'http://cyberjapandata.gsi.go.jp/xyz/blank/{z}/{x}/{y}.png'
  国土地理院の白地図

 'http://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png'
  国土地理院の標準地形図

 国土地理院のその他の地図および詳細は一覧のページ参照   → maps.gsi.go.jp/development/ichiran.html

 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'
  オープンストリートマップ OpenStreetMap
 ・
 ・
 ・

 ● https://www.mitsumatado.com/Memo/…
  map.html?…
   'http://tile.openstreetmap.jp/{z}/{x}/{y}.png'
   オープンストリートマップ OpenStreetMapの.jp   → openstreetmap.jp/

  map2.html?…
   'http://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png'
   国土地理院の標準地形図

  map3.html?…
   'http://cyberjapandata.gsi.go.jp/xyz/seamlessphoto/{z}/{x}/{y}.jpg'
   国土地理院の空中写真(最新)

  map4.html?…
   'http://cyberjapandata.gsi.go.jp/xyz/gazo1/{z}/{x}/{y}.jpg'
   国土地理院 空中写真(1974~1978年)

  map5.html?…
   'http://{s}.tile.thunderforest.com/outdoors/{z}/{x}/{y}.png'
   Thunderforest   → www.thunderforest.com/

  map6.html?…
   'http://{s}.tile.opentopomap.org/{z}/{x}/{y}.png'
   OpenTopoMap   → opentopomap.org/

  mapR.html?…
   'http://cyberjapandata.gsi.go.jp/xyz/relief/{z}/{x}/{y}.png'
   国土地理院 色別標高図(レリーフ)

  タイルレイヤーではなく、緯度・経度を渡しただけ
   mapG.html?…
    GoogleMap

   mapK.html?…
    KTGIS.net 今昔マップ on the web - データセット選択

  mapV.html?…
   半径1[km]、2[km]、4[km]

  データURI ・・・ URLで値を渡す
   map.html?ido=+31.59&kdo=+130.66
   の?以降

blog ふシゼン

Leafletで図に凡例を付ける
Leafletのレイヤー



3 Leafletでプロットいっぱい -最高気温40℃-
2 Leafletでプロットいっぱい -GeoJSON-
1 Leafletでプロット、線引き