公開日:2019-06-19
最終更新日:2019-08-29
最終更新日:2019-08-29
leaflet03-1:マップへの
GeoJSON
オブジェクトの表示次のgeojsonFeatures
内のGeoJSON
オブジェクトをマップに表示しよう.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
var geojsonFeatures = [{ "type": "Feature", "properties": { "name": "1号館", "category": "lecture", "popupContent": "ここは 1号館です。", "show_on_map": true, }, "geometry": { "type": "Point", "coordinates": [135.939637, 34.964617], }, }, { "type": "Feature", "properties": { "name": "6号館", "category": "lecture", "popupContent": "ここは 6号館です。", "show_on_map": false, }, "geometry": { "type": "Point", "coordinates": [135.940793, 34.963986], }, }, { "type": "Feature", "properties": { "name": "7号館", "category": "lecture", "popupContent": "ここは 7号館です。", "show_on_map": true, }, "geometry": { "type": "Point", "coordinates": [135.939057, 34.962904], }, }, { "type": "Feature", "properties": { "name": "青雲館", "category": "cafeteria", "popupContent": "ここは 青雲館です。", "show_on_map": true, }, "geometry": { "type": "Point", "coordinates": [135.941309, 34.963177], }, }, { "type": "Feature", "properties": { "name": "青志館", "category": "cafeteria", "popupContent": "ここは 青志館です。", "show_on_map": false, }, "geometry": { "type": "Point", "coordinates": [135.940715, 34.962993], }, }]; |
難易度:★
ミッション | 説明 |
---|---|
1 | geojsonFeatures を基にGeoJSON レイヤを生成する. |
2 | GeoJSON.addTo() メソッドを使う. |
leaflet03-2:マップへの
GeoJSON
オブジェクトの表示(円マーカとして)Point
型のGeoJSON
オブジェクトを円マーカとしてマップに表示しよう.
1 2 3 4 5 6 7 8 |
var geojsonMarkerOptions = { radius: 12, fillColor: "#ff0000", color: "#000000", weight: 1, opacity: 1, fillOpacity: 0.5, }; |
難易度:★★
ミッション | 説明 |
---|---|
1 | GeoJSON レイヤのpointToLayer オプションを設定する. |
2 | CircleMarker オブジェクトを生成する. |
3 | CircleMarker オブジェクトのオプションとしてgeojsonMarkerOptions を設定する. |
leaflet03-3:マップへの
GeoJSON
オブジェクトの表示(カテゴリ別に色分け)GeoJSON
オブジェクトのカテゴリに応じて円マーカの色を変えてマップに表示しよう.
1 2 3 4 5 6 7 8 |
var geojsonMarkerOptions2 = { radius: 12, fillColor: "#0000ff", color: "#000000", weight: 1, opacity: 1, fillOpacity: 0.5, }; |
難易度:★★★
ミッション | 説明 |
---|---|
1 | switch 文を使う. |
2 | GeoJSON オブジェクトのproperties.category の値が'lecture' の場合はgeojsonMarkerOptions を設定し,'cafeteria' の場合はgeojsonMarkerOptions2 を設定する. |
leaflet03-4:クリックされた
GeoJSON
オブジェクトの説明のポップアップ表示GeoJSON
オブジェクトのマーカがクリックされたとき,その説明をポップアップ表示しよう.
難易度:★★
ミッション | 説明 |
---|---|
1 | GeoJSON レイヤのonEachFeature オプションを設定する. |
2 | Layer.bindPopup() メソッドを使う. |
3 | ポップアップの内容はGeoJSON オブジェクトのproperties.popupContent とする. |
leaflet03-5:
GeoJSON
レイヤのフィルタの設定GeoJSON
レイヤにフィルタを設定しよう.
難易度:★★
ミッション | 説明 |
---|---|
1 | GeoJSON レイヤのfilter オプションを設定する. |
2 | GeoJSON オブジェクトのproperties.show_on_map の値がtrue の場合はマップに表示し,false の場合は非表示にする. |
leaflet03-6:
GeoJSON
レイヤへのGeoJSON
オブジェクトの追加leaflet03-1のGeoJSON
レイヤを生成した後,このレイヤにさらに次のgeojsonFeatures2
を追加しよう.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
var geojsonFeatures2 = [{ "type": "Feature", "geometry": { "type": "LineString", "coordinates": [[135.939798, 34.963691], [135.938548, 34.962948], [135.938993, 34.962438], [135.939390, 34.962649]], }, }, { "type": "Feature", "geometry": { "type": "Polygon", "coordinates": [[[135.939637, 34.964617], [135.939057, 34.962904], [135.941309, 34.963177]]], }, }]; |
難易度:★★
ミッション | 説明 |
---|---|
1 | GeoJSON.addData() メソッドを使う. |
leaflet03-7:
GeoJSON
レイヤのスタイルの変更leaflet03-6のGeoJSON
レイヤのスタイルを変更しよう.
1 2 3 4 5 |
var myStyle = { "color": "#00ff00", "weight": 10, "opacity": 0.65, }; |
難易度:★★★
ミッション | 説明 |
---|---|
1 | GeoJSON.setStyle() メソッドを使う. |
2 | スタイルオプションとしてmyStyle を設定する. |