leaflet基本使用

这篇具有很好参考价值的文章主要介绍了leaflet基本使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

创建地图(map)

添加图层(tileLayer)

创建标记(marker)

图标(icon/divIcon)

弹框(bindPopup)

options选项

方法

工具提示(bindTooltip)

options选项

窗格(pane)

常用方法


创建地图(map)

let map= L.map('map', {
  minZoom: 4,
  maxZoom: 17,
  zoom: 14,
  center: [37.632111, 114.91680237],
  attributionControl: false,
});
  • options选项
  •   maxZoom:地图最大的缩放等级
  •   minZoom:地图最小的缩放等级
  •   zoom:地图默认的缩放等级
  •   center:地图默认的中心点位置[纬度,经度]
  •   attributionControl:是否将 attribution 版权控件添加到地图中
  •   zoomControl:是否将zoom缩放控件添加到地图中
  •   crs:地图使用的坐标系,默认使用的是EPSG3857坐标系
  •   layers:添加到地图的图层
  •   closePopupOnClick:用户点击图层时打开的弹框是否自动关闭
  •   dragging:地图是否可以进行拖动,滑动

添加图层(tileLayer)

let tileLayer = L.tileLayer('http://map.geoq.cn/ArcGIS/rest/services/.../',{
    maxZoom: 17,
    minZoom: 4,
}).addTo(map);   
                                                            

创建标记(marker)

let marker = L.marker([纬度,经度], { icon: 图标 })
  •   icon:将创建的标记改为一个图标
  •   title:鼠标移动到标记上时显示的标记
  •   opacity:标记的不透明度

注意: icon不定义就会使用leaflet自带的图标

图标(icon/divIcon)

icon图标:提供一个图片或图像代替标记

var myIcon = L.icon({
    iconUrl: 'my-icon.png',
    iconSize: [38, 95],
    iconAnchor: [22, 94],
    popupAnchor: [-3, -76],
    shadowUrl: 'my-icon-shadow.png',
    shadowSize: [68, 95],
    shadowAnchor: [22, 94]
});

option选项 

  •   iconUrl:图标图像的地址(URL)
  •   iconSize:图标图像的尺寸,单位为像素(number)
  •   className:设置一个class自定义图标的CSS属性
  •   popupAnchor:弹出的窗口的坐标,相对于图标的描点而言,将在这里打开弹框 ([0,0])
  •   iconAnchor:图标相对其左上角的坐标,默认情况下,图标的左上角是标记的位置([0,0])

divIcon图标:提供一个div元素作为图标代替标记

let divIcon = L.divIcon({
   html: `<div style="width:30px;height:30px;background:red;border- 
         radius:30px;text-align:center;line-height:30px;color:#ffffff">
         北京</div>`,
   className: 'icon',   // 图标父节点的class属性
   popupAnchor: [8, 2], // 弹出框(popup)的坐标,相对于图标描点而言,将从该点打开
});
  •   html:自定义HTML代码,放入div元素内

divIcon继承icon的option选项

弹框(bindPopup)

marker.bindPopup("我是popup",options).openPopup();

options选项

  • maxWidth(最大宽度):弹出框的最大宽度。
  • minWidth(最小宽度):弹出框的最小宽度。
  • maxHeight(最大高度):设置后,如果内容超过弹出窗口的给定高度则产生一个可以滚动的容器。
  • autoPan(自动平移):如果你不想地图自动平移来适应打开的弹出框,就设置其为false。
  • closeButton(关闭按钮):设置弹出窗口中是否出现关闭按钮。
  • offset(补偿值):弹出窗口位置的补偿值。在同一图层中打开弹出窗口时对于控制锚点比较有用。
  • autoPanPadding(自动平移填补):在地图视图自动平移产生后弹出窗口和地图视图之间的边缘。
  • zoomAnimation:决定是否在所在级别上弹出窗口。如果你在弹出窗口中有flash内容的最好将其设置为不可用。
  • closeOnClick:默认为true,如果不想用户点击地图时弹框自动关闭,就请设置为false
  • className:设置一个class自定义弹出窗口的CSS属性

方法

  • addTo:将弹出窗口添加到地图上。
  • openOn:将弹出窗口添加到地图上并将之前的一个关闭。与map.oenPopup(popup)方法相同。
  • setLatLng:设置弹出窗口打开的地理上的点位。
  • setContent:设置弹出窗口的HTML内容。

工具提示(bindTooltip)

使用示例

marker.bindTooltip("my tooltip text",options).openTooltip();

options选项

  • direction:打开tooltip的方向,可以为left,right,bottom,top,center,auto
  • permanent:是永久打开tooltip还是只在鼠标移动时打开
  • sticky:如果为true,tooltip将跟随鼠标移动,而不是固定在特征中心
  • opacity:tooltip的透明度

窗格(pane)

map.createPane('pane'); // 创建窗格
map.getPane('pane').style.zIndex = 999;  // 设置窗格的层级
var positronLabels = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_nolabels/{x}/{y}/{z}.png'),{
        attribution: '©OpenStreetMap, ©CartoDB',
        pane: 'labels'   // 绑定窗格
}).addTo(map);  

常用方法和事件

将给定的图层添加到地图中

map.addLayer(this.tileLayer);

遍历所有图层然后删除

map.eachLayer(function (layer) {
    layer.remove();
})
// eachLayer()方法:遍历地图上所有图层

删除地图上单个图层

map.removeLayer(layer)

设置地图的中心点和层级

map.setView([lat: 30.890944, lng: 120.606944],10);

获取地图当前缩放级别

map.getZoom();

 获取当前地图中心点

map.getCenter();

设置地图的最小或最大缩放级别

map.setMinZoom(10);
map.setMaxZoom(16);

判断地图上是否已存在某个图层文章来源地址https://www.toymoban.com/news/detail-763488.html

map.hasLayer(this.tileLayer);

到了这里,关于leaflet基本使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Xgplayer】xgplayer基本使用 | xgplayer使用 | 超好的前端视频播放器 | xgplayer前端最好视频播放器

    开发团队——字节跳动,字节跳动出品,必属精品。 xgplayer是一个超级牛逼的前端视频播放器,以下几个观点足以证明它的强大 大厂出品——稳 简洁 实用 优雅 文档清晰明了 支持弹幕 对移动端非常友好 自定义插件方便且强大 强就是了 xgplayer官网-点我进入 备用地址 https:

    2024年02月06日
    浏览(77)
  • 在Leaflet中使用Turf.js生成范围多边形的两种实现方式

    目录 前言 一、场景需求 1、Leaflet.js的不足 2、Turf.js 二、原始数据展示 1、点位数据展示  2、定义样式 3、定位数据初始化 三、Turfjs中bbox生成  1、官网讲解 2、轨迹bbox生成 四、Turfjs生成外包多边形 1、官网例子 2、凸多边形生成 总结         在一些共享出行的应用地图中

    2024年03月14日
    浏览(94)
  • 浅谈Web前端开发软件包管理器—Bower的基本使用

    Bower 是一个客户端的软件包管理器,它可用于搜索、安装和卸载如 JavaScript、HTML、CSS 之类的网络资源,Bower 是 Web 开发中的一个前端文件包管理器,类似于 Node 模块的 npm 包管理器,bower 依赖于 Git、Node 和 npm。  全局安装 使用 npm 安装 Bower。(Bower 依赖于 Node, npm 和 Git。)

    2024年02月15日
    浏览(55)
  • 〖大前端 - 基础入门三大核心之CSS篇㉒〗- 过渡属性的基本使用

    当前子专栏 基础入门三大核心篇 是免费开放阶段 。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费开放 , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:除了通过订阅\\\"白宝书系列专

    2023年04月19日
    浏览(60)
  • 【前端知识】React 基础巩固(三十九)——React-Router的基本使用

    Router中包含了对路径改变的监听,并且会将相应的路径传递给子组件。 Router包括两个API: BrowserRouter使用history模式 HashRouter使用hash模式(路径后面带有#号) 尝试在项目中使用HashRouter: 安装Router 在 index.js 中引入并使用HashRouter Routes:包裹所有的Route,在其中匹配一个路由(

    2024年02月14日
    浏览(66)
  • 【前端面经】CSS-less/sass/scss的区别和基本使用

    随着Web开发的不断发展,CSS预处理器变得越来越流行。它们为Web开发者提供了一种更高效、更简便的CSS编写方式。Less、Sass以及SCSS作为最受欢迎的三种CSS预处理器,它们都为CSS编写提供了不同的特点和功能。 在本篇博客中,我们将会探讨这三种预处理器之间的区别以及它们的

    2024年02月06日
    浏览(58)
  • Axios基本使用,为学习后续的Vue服务【发送请求+并发请求+前端拦截器】

    目录 1、项目中引入Axios 2、使用Axios发送请求 2.1、例:发送GET请求 2.2、例:发送POST请求 3、axios并发请求 4、拦截器 注:个人学习笔记,因自己学过后端,所以有关后端的代码,我在这里就不展示了~ 不了解后端的宝子,也不会耽误学习,因为公司里会有写好的接口文档,直

    2024年02月02日
    浏览(53)
  • 自动化测试工具Selenium的基本使用方法,面试字节跳动的前端工程师该怎么准备

    8.小结 上述均可以改写成find_element(By.ID,‘kw’)的形式 find_elements_by_xxx的形式是查找到多个元素,结果为列表 import time from selenium import webdriver#驱动浏览器 from selenium.webdriver import ActionChains #滑动 from selenium.webdriver.common.by import By #选择器 from selenium.webdriver.common.by import By #按照什

    2024年04月16日
    浏览(48)
  • 【前端Vue】Vue从0基础完整教程第1篇:vue基本概念,vue-cli的使用【附代码文档】

    Vue从0基础到大神学习完整教程完整教程(附代码资料)主要内容讲述:vue基本概念,vue-cli的使用,vue的插值表达式,{{ gaga }},{{ if (obj.age 18 ) { } }},vue指令,综合案例 - 文章标题编辑vue介绍,开发vue的方式,基本使用,如何覆盖webpack配置,目录分析与清理,vue单文件组件的说明,

    2024年03月09日
    浏览(91)
  • 一.Leaflet入门

      为什么第一个 GIS 前端开发框架选择 Leaflet。   Leaflet 是一款轻量级,用于移动友好交互式地图的JavaScript库。轻量级的意思就是代码总大小比较小。Leaflet利用HTML5和CSS3在现代浏览器上的优势,同时也可以在旧浏览器上访问。它可以通过大量插件进行扩展,具有漂亮的、

    2024年01月25日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包