首页IT科技leaflet.draw(leaflet入门使用教程)

leaflet.draw(leaflet入门使用教程)

时间2025-04-30 01:18:14分类IT科技浏览3715
导读:关于leaflet Leaflet是用于适用于移动端交互地图的主要的开源JavaScript库。JS库的大小为38k左右,但是拥有大部分开发者需要的全部地图功能。...

关于leaflet

Leaflet是用于适用于移动端交互地图的主要的开源JavaScript库            。JS库的大小为38k左右          ,但是拥有大部分开发者需要的全部地图功能               。

Leaflet保持着简单          、性能和实用性的设计思想      。它可以在所有主要的桌面和移动端平台上高效的运转                  ,可以扩展插件     ,它有一个漂亮的                  、易用的和文档清晰的API       ,还有一个简单     、易读的源代码         。

官网地址:https://leafletjs.com/reference.html

经纬度查询地址:http://jingweidu.757dy.com/

中文API文档:https://www.cnblogs.com/shitao/p/3566598.html

开始使用

第一种方法:

点击官网的DownLoad按钮                  ,跳转到下载页面        ,点击对应包下载               。

第二种方法:

在html中直接引入js       、css <link rel="stylesheet" href="https://unpkg.com/leaflet@1.4.0/dist/leaflet.css"/> <script src="https://unpkg.com/leaflet@1.4.0/dist/leaflet.js"></script>

第三种方法:

使用npm npm install leaflet

建立第一个Map

详细配置参数见上面中文文档API链接

<!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>Document</title> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.4.0/dist/leaflet.css" /> <script src="https://unpkg.com/leaflet@1.4.0/dist/leaflet.js"></script> </head> <style> * { box-sizing: border-box; margin: 0px; padding: 0px; } #mapid { height: 100vh; } </style> <body> <div id="mapid"></div> </body> <script> //[31.82658, 117.23344], 13对应纬度                  、经度        、地图的缩放. var mymap = L.map(mapid).setView([31.82658, 117.23344], 13); L.tileLayer(, { maxZoom: 18//最大缩放 }).addTo(mymap); </script> </html>

更多地图类型()可以查看https://openwhatevermap.xyz/#3/28.77/47.99

点击喜欢的地图会展示弹窗    ,复制粘贴即可         。

加载高德矢量地图 var mymap = L.map(mapid).setView([31.82658, 117.23344], 13); L.tileLayer(http://wprd04.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}, { maxZoom: 18 }).addTo(mymap);

添加图形或标注点

配置参数见官网文档:https://leafletjs.com/reference.html#marker

标注点

L.marker([31.82658, 117.23344]).addTo(mymap);

圆形

配置参数见官网文档:https://leafletjs.com/reference.html#path

var circle = L.circle([31.82658, 117.23344], { color: red, fillColor: #f03, fillOpacity: 0.5, radius: 500 }).addTo(mymap);

多边形

var polygon = L.polygon([ [31.82127, 117.21837], [31.82317, 117.27629], [31.85082, 117.25333] ]).addTo(mymap);

矩形范围

详细配置参考官网文档:https://leafletjs.com/reference.html#rectangle // define rectangle geographical bounds var bounds = [[54.559322, -5.767822], [56.1210604, -3.021240]]; // create an orange rectangle L.rectangle(bounds, {color: "#ff7800", weight: 1}).addTo(map); // zoom the map to the rectangle bounds map.fitBounds(bounds);

圆形范围

详细配置参考官网文档:https://leafletjs.com/reference.html#circle

L.circle([31.85082, 117.25333], { radius: 1000 }).addTo(mymap);

点击展示popup弹窗

详细配置参数见官网文档:https://leafletjs.com/reference.html#popup

function onMapClick(e){ L.popup().setLatLng(e.latlng) .setContent("You clicked the map at "+e.latlng.toString()) .openOn(mymap) } mymap.on(click,onMapClick)

标注点添加弹窗

const marker = L.marker([31.82658, 117.23344]).addTo(mymap); marker.bindPopup("标注点").openPopup(); var bj = L.marker([39.92, 116.46]).bindPopup(这里是北京); sh = L.marker([31.213, 121.445]).bindPopup(这里是上海); gz = L.marker([23.16, 113.23]).bindPopup(这里是广州); var cities = L.layerGroup([bj, sh, gz]).addTo(mymap);

Tooltip提示

详细配置参数见官网文档:https://leafletjs.com/reference.html#tooltip

const marker = L.marker([31.82658, 117.23344]).addTo(mymap); marker.bindTooltip("my tooltip text").openTooltip();

添加地图右下角标识

详细属性参考官网文档:https://leafletjs.com/reference.html#tilelayer

attribution属性添加地图右下角标识 var mymap = L.map(mapid).setView([31.82658, 117.23344], 13); L.tileLayer(, { maxZoom: 18, foo: bar, attribution: &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors }).addTo(mymap);

加载多个地图类型

var baseLayers = { Sputnik: L.tileLayer(https://{s}.tile.thunderforest.com/spinal-map/{z}/{x}/{y}{r}.png, { maxZoom: 18 }), "CartoDB Positron": L.tileLayer(, { maxZoom: 18 }), "OSM": L.tileLayer(, { maxZoom: 18 }).addTo(mymap), "OpenTopoMap": L.tileLayer(, { maxZoom: 18 }), } //切换图层工具 var layerControl = L.control.layers(baseLayers, {}, { position: topleft, collapsed: true }).addTo(mymap);

地图上加载和显示单个图像

详细参数参考官网文档:https://leafletjs.com/reference.html#imageoverlay

var imageUrl = https://maps.lib.utexas.edu/maps/historical/newark_nj_1922.jpg, imageBounds = [[40.712216, -74.22655], [40.773941, -74.12544]]; L.imageOverlay(imageUrl, imageBounds).addTo(mymap);

加载视频影像

详细参数参考官网文档:https://leafletjs.com/reference.html#videooverlay

var videoUrl = https://www.mapbox.com/bites/00188/patricia_nasa.webm, videoBounds = [[32, -130], [13, -100]]; L.videoOverlay(videoUrl, videoBounds).addTo(mymap);
声明:本站所有文章                 ,如无特殊说明或标注           ,均为本站原创发布      。任何个人或组织  ,在未征得本站同意时                ,禁止复制    、盗用                 、采集           、发布本站内容到任何网站  、书籍等各类媒体平台               。如若本站内容侵犯了原著者的合法权益              ,可联系我们进行处理           。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
pc的桌面操作系统(一铭桌面操作系统Emind Desktop 4.0 SP1安装使用初体验) win10关闭软驱(在BIOS中关闭软驱的方法(禁用软驱))