官网地址:https://leafletjs.com/reference.html
创建token的地址:https://account.mapbox.com/access-tokens
快速搭建一个leaflet地图的index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>leaflet学习</title>
</head>
<link
rel="stylesheet"
href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css"
integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A=="
crossorigin=""
/>
<script
src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"
integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA=="
crossorigin=""
></script>
<style>
#map {
height: 680px;
}
</style>
<body>
<div id="map"></div>
</body>
<script>
var map = L.map('map').setView([51.505, -0.09], 13);
// 初始化加载
L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
attribution: 'Map data © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
maxZoom: 18,
id: 'mapbox/streets-v11',
tileSize: 512,
zoomOffset: -1,
// accessToken 的值需要自己创建,这个是我自己的;创建token的地址为:https://account.mapbox.com/access-tokens
accessToken: 'pk.eyJ1IjoiY2hhbmdqIiwiYSI6ImNsMXZybnI5ZzA2a2wzZG8xeGd0ZnF4a3EifQ.gSOMNlmCysBBIgLcrtiUoA'
}).addTo(map);
// 设置标记
var marker = L.marker([51.5, -0.09]).addTo(map);
// 设置圆形标记区域
var circle = L.circle([51.508, -0.11], {
color: 'red',
fillColor: '#f03',
fillOpacity: 0.5,
radius: 500
}).addTo(map);
// 设置多边形区域
var polygon = L.polygon([
[51.509, -0.08],
[51.503, -0.06],
[51.51, -0.047]
]).addTo(map);
// 标记和区域点击打开的弹窗 openPopup直接打开
marker.bindPopup("<b>Hello world!</b><br>I am a popup.").openPopup();
circle.bindPopup("I am a circle.");
polygon.bindPopup("I am a polygon.");
// 声明弹窗的实例
var popup = L.popup();
// 点击地图的事件
function onMapClick(e) {
popup
.setLatLng(e.latlng)
.setContent("You clicked the map at " + e.latlng.toString())
.openOn(map);
}
// 绑定点击事件
map.on('click', onMapClick);
</script>
</html>
实现效果如图: