Leaflet教程
Leaflet添加标记,绘制线条、绘制圆、绘制矩形、绘制多边形,其位于UI Layers和Vector Layers中。
使用的相关类
| 名称 | 类名 | 官方API |
| 标记 |
Marker |
https://leafletjs.com/reference.html#marker |
| 线条 |
Polyline |
https://leafletjs.com/reference.html#polyline |
| 圆 |
Circle |
https://leafletjs.com/reference.html#circle |
| 矩形 |
Rectangle |
https://leafletjs.com/reference.html#rectangle |
| 多边形 |
Polygon |
https://leafletjs.com/reference.html#polygon |
添加标注点
L.marker([39.9788, 116.30226]).addTo(map);
添加线条
var latlngs = [
[40.912569, 111.840153],
[39.094994, 106.742496],
[33.503718, 103.05109]
];
L.polyline(latlngs, {color: 'red'}).addTo(map);
添加圆
属性radius的单位是米,所以当地图层级较低时,该值得设得较大。
L.circle([27.682422, 116.762028], {radius: 200000, color: "red"}).addTo(map);
添加矩形
var latlngs = [
[30.825708, 107.18195],
[33.650168, 115.092106]
];
L.rectangle(latlngs, {color: "red"}).addTo(map);
添加多边形
var latlngs = [
[39.163173, 117.992496],
[35.8168, 113.158512],
[32.54576, 118.607731],
[32.619818, 122.562809],
[37.299282, 122.562809]
];
L.polygon(latlngs, {color: 'red'}).addTo(map);
地图完整的例子
实例
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>离线地图</title>
<link rel="stylesheet" href="leaflet/leaflet.css" />
<script type="text/javascript" src="leaflet/leaflet.js"></script>
<style type="text/css">
html, body, #map_container{
width: 100%;
height: 100%;
overflow: hidden;
margin:0;
}
</style>
</head>
<body>
<div id="map_container"></div>
</body>
<script type="text/javascript">
var map = L.map('map_container', {
center: [30.62840809925475, 118.398990578125],
zoom: 4,
minZoom: 4,
maxZoom: 19
});
L.tileLayer('tiles/{z}/{x}/{y}.png', {
attribution: '离线地图'
}).addTo(map);
/*添加标记*/
L.marker([39.9788, 116.30226]).addTo(map);
/*添加线条*/
var latlngs = [
[40.912569, 111.840153],
[39.094994, 106.742496],
[33.503718, 103.05109]
];
L.polyline(latlngs, {color: 'red'}).addTo(map);
/*添加圆*/
L.circle([27.682422, 116.762028], {radius: 200000, color: "red"}).addTo(map);
/*添加矩形*/
var latlngs = [
[30.825708, 107.18195],
[33.650168, 115.092106]
];
L.rectangle(latlngs, {color: "red"}).addTo(map);
/*添加多边形*/
var latlngs = [
[39.163173, 117.992496],
[35.8168, 113.158512],
[32.54576, 118.607731],
[32.619818, 122.562809],
[37.299282, 122.562809]
];
L.polygon(latlngs, {color: 'red'}).addTo(map);
</script>
</html>
全部教程