关键词搜索

源码搜索 ×
×

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

发布2019-09-04浏览4639次

详情内容

目录

 

网络加载JS和CSS

初始化地图

在地图上做标记

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

个人对这篇文档的体会


 

网络加载JS和CSS

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

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

再加载js

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

 

初始化地图

这里有这几个逻辑:

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

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


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

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

 

 

在地图上做标记

增加一个mark

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

画一个圆

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

增加一个多边形

  1. L.polygon([
  2. [51.509, -0.08],
  3. [51.503, -0.06],
  4. [51.51, -0.047]
  5. ]).addTo(mymap).bindPopup("I am a polygon.");

 

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

 

点击地图,弹出窗口显示当前坐标

  1. var popup = L.popup();
  2. function onMapClick(e) {
  3. popup
  4. .setLatLng(e.latlng)
  5. .setContent("You clicked the map at " + e.latlng.toString())
  6. .openOn(mymap);
  7. }
  8. mymap.on('click', onMapClick);

 

 

个人对这篇文档的体会

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

 

完整代码!

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Quick Start - Leaflet</title>
  5. <meta charset="utf-8" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <link rel="shortcut icon" type="image/x-icon" href="docs/images/favicon.ico" />
  8. <link rel="stylesheet" href="https://unpkg.com/leaflet@1.5.1/dist/leaflet.css" integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin=""/>
  9. <script src="https://unpkg.com/leaflet@1.5.1/dist/leaflet.js" integrity="sha512-GffPMF3RvMeYyc1LWMHtK8EbPv0iNZ8/oTtHPx9/cc2ILxQ+u905qIwdpULaqDkyBKgOaB57QTMg7ztg8Jm2Og==" crossorigin=""></script>
  10. </head>
  11. <body>
  12. <div id="mapid" style="width: 1024px; height: 768px;"></div>
  13. <script>
  14. var mymap = L.map('mapid').setView([51.505, -0.09], 13);
  15. L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', {
  16. maxZoom: 18,
  17. attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' +
  18. '<a href="https://creativecommons.org/licenses/by-sahttps://cdn.jxasp.com:9143/image/2.0/">CC-BY-SA</a>, ' +
  19. 'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
  20. id: 'mapbox.streets'
  21. }).addTo(mymap);
  22. L.marker([51.5, -0.09]).addTo(mymap)
  23. .bindPopup("<b>Hello world!</b><br />I am a popup.").openPopup();
  24. L.circle([51.508, -0.11], 500, {
  25. color: 'red',
  26. fillColor: '#f03',
  27. fillOpacity: 0.5
  28. }).addTo(mymap).bindPopup("I am a circle.");
  29. L.polygon([
  30. [51.509, -0.08],
  31. [51.503, -0.06],
  32. [51.51, -0.047]
  33. ]).addTo(mymap).bindPopup("I am a polygon.");
  34. var popup = L.popup();
  35. function onMapClick(e) {
  36. popup
  37. .setLatLng(e.latlng)
  38. .setContent("You clicked the map at " + e.latlng.toString())
  39. .openOn(mymap);
  40. }
  41. mymap.on('click', onMapClick);
  42. </script>
  43. </body>
  44. </html>

 

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载