leaflet常用機能
3798 ワード
概要
純粋なJavaScriptは、地図上で操作(座標点、経路、曲線など)を行うライブラリの一つで、操作地図APIのみを提供し、実際にある地図をロードし、開発者が決定します.
地図オブジェクトを作成
1)ページはdivを作成し、div属性を設定して画面全体に広げ、divの中のid属性を設定します.leaflette APIを使って地図オブジェクトを初期化します.
一般API
tileLayer
役割:ページにタイル地図の画像をロードする
役割:与えられた経緯度に基づいて、地図にデフォルトのマーカーをロードします.
役割:地図に文字を表示する
作用:経緯度を接続することによって、地図上に一本の線を形成し、出発からアニメーション効果を終了するには、サードスクウェアLeaflet.Polyline.SnakeAnim参照アドレスを使用することができます.https://github.com/zettvs/Lea...
作用:与えられた経緯度の位置に円を形成します.
作用:Json形式と似ています.地理データを表します.地図上である地域を色や背景で覆ってもいいです.この技術を使って住所を参考してください.http://geojson.io/#map=2/20.0...https://zh.wikipedia.org/wiki...
使い方:
純粋なJavaScriptは、地図上で操作(座標点、経路、曲線など)を行うライブラリの一つで、操作地図APIのみを提供し、実際にある地図をロードし、開発者が決定します.
地図オブジェクトを作成
1)ページはdivを作成し、div属性を設定して画面全体に広げ、divの中のid属性を設定します.leaflette APIを使って地図オブジェクトを初期化します.
// mapDiv id ,setView 1: 2: ( , )
const map = L.map('mapDiv').setView([33.6528734492,104.7626939500], 5)
3)地図のタイル層をロードする一般API
tileLayer
役割:ページにタイル地図の画像をロードする
const corner1 = L.latLng(50.4838600000, 77.1125230000) //
const corner2 = L.latLng(22.5557360000, 138.0866980000) //
const bounds = L.latLngBounds(corner1, corner2) // 2
const attr = ' Map data © OpenStreetMap contributors, © キャリアDB'
L.tileLayer(url, {
maxZoom: 10, // 10
minZoom: 1, // 1
bounds: bounds, //
attribution: attr //
}).addTo(map)
map.setMaxBounds(bounds) // , , ,
マーカー役割:与えられた経緯度に基づいて、地図にデフォルトのマーカーをロードします.
// title: , opacity:
// zIndexOffset: , : , ,
L.marker([39.9094390677,116.3699341216], {title: 'this is title', opacity: '0.8', zIndexOffset: 9999}).addTo(map)
2)カスタムiconの読み込み(一般的には写真)// iconUrl: url iconSize:
const myIcon = L.icon({
iconUrl: 'https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png',
iconSize: [80, 30]
});
L.marker([40, 108], {icon: myIcon, alt: 'this is google'}).addTo(map);
ポップ役割:地図に文字を表示する
/*
* closeButton:
* autoClose: openOn ,
* closeOnClick: , popup
* className: class , popup , class
* openOn():
* addTo(): popup
* */
L.popup({closeButton: true, autoClose: true, closeOnClick: false, className: 'my-popup'})
.setLatLng([38, 98])
.setContent('Hello world!
This is a nice popup.
')
.addTo(map);
L.popup({closeButton: true, autoClose: true, closeOnClick: false})
.setLatLng([37, 98])
.setContent('Hello world!')
.addTo(map);
polyline作用:経緯度を接続することによって、地図上に一本の線を形成し、出発からアニメーション効果を終了するには、サードスクウェアLeaflet.Polyline.SnakeAnim参照アドレスを使用することができます.https://github.com/zettvs/Lea...
// css
/*stroke-dasharray: svg , , ,
2 , 1: 2: , ,
stroke: svg
*/
.testSvg {
animation: animate 0.5s linear infinite;
stroke-dasharray: 10;
stroke: blue;
}
// js
const polyline2 = L.polyline(latlngs, {weight: 6, className: 'testSvg', opacity: 0.5})
.addTo(leafletMap);
leafletMap.fitBounds(polyline2.getBounds());
const polyline1 = L.polyline(latlngs, {color: '#fff', weight: 6, opacity: 0.5})
.addTo(leafletMap);
leafletMap.fitBounds(polyline1.getBounds());
circele作用:与えられた経緯度の位置に円を形成します.
/*
* radius:
* weight:
* color:
* fillColor:
* */
L.circle([38, 98], {radius: 111200, weight: 1, color: 'red', fillColor: 'blue'}).addTo(map)
Jojson作用:Json形式と似ています.地理データを表します.地図上である地域を色や背景で覆ってもいいです.この技術を使って住所を参考してください.http://geojson.io/#map=2/20.0...https://zh.wikipedia.org/wiki...
使い方:
// color: weight: fillColor: fillOpacity:
L.geoJSON(geoJson , {
style: function () {
return {
color: '#263238',
weight: 0.8,
fillColor: '#002132',
fillOpacity: 0.5
};
}
})