欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Leaflet文档阅读笔记-Quick Start Guide笔记

发布时间:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Leaflet文档阅读笔记-Quick Start Guide笔记 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

目录

 

网络加载JS和CSS

初始化地图

在地图上做标记

在地图上点击事件获得坐标

个人对这篇文档的体会


 

网络加载JS和CSS

先要加载css,然后在加载js

<link rel="stylesheet" href="https://unpkg.com/leaflet@1.5.1/dist/leaflet.css"integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ=="crossorigin=""/>

再加载js

<!-- Make sure you put this AFTER Leaflet's CSS --><script src="https://unpkg.com/leaflet@1.5.1/dist/leaflet.js"integrity="sha512-GffPMF3RvMeYyc1LWMHtK8EbPv0iNZ8/oTtHPx9/cc2ILxQ+u905qIwdpULaqDkyBKgOaB57QTMg7ztg8Jm2Og=="crossorigin=""></script>

 

初始化地图

这里有这几个逻辑:

1. 初始化map以及设置其view【view的作用是选择初始化坐标点和其层级】;

var mymap = L.map('mapid').setView([51.505, -0.09], 13);


2. setview的返回值是map;
3. 为map添加一个地板,这个地板使用了URL template;

L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}', {attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',maxZoom: 18,id: 'mapbox.streets',accessToken: 'your.mapbox.access.token' }).addTo(mymap);

 

 

在地图上做标记

增加一个mark

L.marker([51.5, -0.09]).addTo(mymap).bindPopup("<b>Hello world!</b><br />I am a popup.").openPopup();

画一个圆

L.circle([51.508, -0.11], 500, {color: 'red',fillColor: '#f03',fillOpacity: 0.5 }).addTo(mymap).bindPopup("I am a circle.");

增加一个多边形

L.polygon([[51.509, -0.08],[51.503, -0.06],[51.51, -0.047] ]).addTo(mymap).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(mymap); }mymap.on('click', onMapClick);

 

 

个人对这篇文档的体会

最近要搞GIS方面的东西,用了geoserver搭建本地GIS服务器,用echarts画小东西,在搜索资料中,发现了Leaflet,这个js地图框架,并且很多echarts地图都使用了他,本来是想百度下解决算了,但百度的东西,没有系统的教程,都是个人的笔记,在此不得不啃官方的资料,不过还好!可以接受。

 

完整代码!

<!DOCTYPE html> <html> <head><title>Quick Start - Leaflet</title><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="shortcut icon" type="image/x-icon" href="docs/images/favicon.ico" /><link rel="stylesheet" href="https://unpkg.com/leaflet@1.5.1/dist/leaflet.css" integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin=""/><script src="https://unpkg.com/leaflet@1.5.1/dist/leaflet.js" integrity="sha512-GffPMF3RvMeYyc1LWMHtK8EbPv0iNZ8/oTtHPx9/cc2ILxQ+u905qIwdpULaqDkyBKgOaB57QTMg7ztg8Jm2Og==" crossorigin=""></script></head> <body><div id="mapid" style="width: 1024px; height: 768px;"></div> <script>var mymap = L.map('mapid').setView([51.505, -0.09], 13);L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', {maxZoom: 18,attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' +'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',id: 'mapbox.streets'}).addTo(mymap);L.marker([51.5, -0.09]).addTo(mymap).bindPopup("<b>Hello world!</b><br />I am a popup.").openPopup();L.circle([51.508, -0.11], 500, {color: 'red',fillColor: '#f03',fillOpacity: 0.5}).addTo(mymap).bindPopup("I am a circle.");L.polygon([[51.509, -0.08],[51.503, -0.06],[51.51, -0.047]]).addTo(mymap).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(mymap);}mymap.on('click', onMapClick);</script></body> </html>

 

总结

以上是生活随笔为你收集整理的Leaflet文档阅读笔记-Quick Start Guide笔记的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。