leaflet 的基础使用

目录

一、创建dom节点

二、创建地图

三、添加底图(天地图),在地图创建完成后添加底图


本章主要讲述leaflet在vue中的使用:

leaflet 详情总目录:传送

一、创建dom节点

<div class="map" id="map_container"></div>

这里要注意,添加的节点必须设置宽高,否则不显示

二、创建地图

data() {return {map: null,//地图实例clickTimers: [],//存储区分点击地图双击和单击的定时器isShowUavBaseLayer: false, //是否显示卫星图层baseMapLayerGroup: null, //地图图层组tdtMapKey: '', //天地图key,需要到天地图申请}},methods: {initMap() {let that = thisthat.map = L.map('map_container', {crs: L.CRS.EPSG4326, //坐标系,在未知坐标系情况下,不要修改这里center: [29.4785541, 119.55847441], //地图中心maxNativeZoom: 16, //地图瓦片放大最大级别minNativeZoom: 5, //地图瓦片缩小最小级别maxZoom: 21, //地图放大最大级别minZoom: 5, //地图缩小最小级别zoom: 10, //地图当前级别attributionControl: false, //版本控件zoomControl: false, //地图缩放控件closePopupOnClick: true, //点击地图关闭popup弹窗trackResize: true, //地图根据浏览器更新boxZoom: true, //是否可以在按住shift拖地鼠标把地图缩放到指定的矩形区域doubleClickZoom: true, //是否双击放大地图dragging: true, //地图是否可以拖拽keyboard: true, //键盘是否可以操作地图keyboardPanDelta: 80, //键盘方向键按下时,地图平移像素scrollWheelZoom: true, //鼠标滚轮操作地图缩放wheelDebounceTime: 40, //鼠标滚轮触发限制,不得超过40毫秒一次wheelPxPerZoomLevel: 60, //鼠标滚动一次,地图滚动像素})//地图单击事件that.map.on('click', (e) => {//区分单击和双击,在单击添加延时,如果在300毫秒中触发了双击事件,则清除定时器,不触发单击事件let timer = window.setTimeout(() => {console.log(e.latlng, 'click')}, 300)that.clickTimers.push(timer)})//地图双击事件that.map.on('dblclick', (e) => {//判断定时器是否有数据,有则清除,只触发双击事件if (that.clickTimers.length > 0) {that.clickTimers.forEach((timer) => {window.clearTimeout(timer)})that.clickTimers = []}console.log(e.latlng, 'dblclick')})},},async mounted() {await this.$nextTick()this.initMap()},

 

 创建的新地图是没有底图的,需要我们自己添加底图,根据需求添加不同的底图,我这里先以天地图为例,后期会把不同类型的底图添加方式统一写一下

三、添加底图(天地图),在地图创建完成后添加底图

//添加底图图层addSateLayer() {let layerType = this.isShowUavBaseLayer ? 'img' : 'vec'let labelType = this.isShowUavBaseLayer ? 'cia' : 'cva'if (!this.baseMapLayerGroup) {this.baseMapLayerGroup = new L.LayerGroup()this.baseMapLayerGroup.addTo(this.map)} else {this.baseMapLayerGroup.clearLayers()}var wMap = L.tileLayer(`https://t{s}.tianditu.gov.cn/DataServer?T=${layerType}_c&x={x}&y={y}&l={z}&tk=${this.tdtMapKey}`,{minZoom: 5,maxZoom: 21,maxNativeZoom: 17,minNativeZoom: 5,subdomains: [0, 1, 2, 3, 4, 5, 6, 7],zoomOffset: 1,tileSize: 256,})var lMap = L.tileLayer(`https://t{s}.tianditu.gov.cn/DataServer?T=${labelType}_c&x={x}&y={y}&l={z}&tk=${this.tdtMapKey}`,{subdomains: [0, 1, 2, 3, 4, 5, 6, 7],transparent: true,zIndex: 3,zoomOffset: 1,minZoom: 5,maxZoom: 21,tileSize: 256,})this.baseMapLayerGroup.addLayer(wMap)this.baseMapLayerGroup.addLayer(lMap)},//切换地图handleChangeBaseLayer() {this.isShowUavBaseLayer = !this.isShowUavBaseLayerthis.addSateLayer()},

 效果如下:1.普通底图,2.卫星影像底图

注:这里用到天地图的key,需要到天地图官网申请

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/888187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu的用户使用

ubuntu系统中的常规用户登录方式 在系统root用户是无法直接登录的,因为root用户的权限过大所以其安全性比较差 在登录系统时一般使用在安装系统时建立的普通用户登录 如果需要超级用户权限: Ubuntu用户密码破解 在系统安装完成后默认grub启动等待时间为0&#xff0c;建议改…

浏览器拨测:将网站护航的阵地再前推一米

作者&#xff1a;泉思 “从你在地址栏里敲下回车开始到你在网页上看到内容中间经过了哪些步骤”&#xff0c; 这是一个非常常见的互联网公司的面试题。想必很多开发者对于这个问题可以给出一个非常完整的回答&#xff0c;但是对于用户来说&#xff0c;在网页上看到内容仅仅是服…

【RL Application】语义分割中的强化学习方法

&#x1f4e2;本篇文章是博主强化学习&#xff08;RL&#xff09;领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对相关等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅…

【C++】优先队列(Priority Queue)全知道

亲爱的读者朋友们&#x1f603;&#xff0c;此文开启知识盛宴与思想碰撞&#x1f389;。 快来参与讨论&#x1f4ac;&#xff0c;点赞&#x1f44d;、收藏⭐、分享&#x1f4e4;&#xff0c;共创活力社区。 目录 一、前言 二、优先队列&#xff08;Priority Queue&#xff09…

STL:相同Size大小的vector和list哪个占用空间多?

在C中&#xff0c;vector和list是两种不同的序列容器。vector底层是连续的内存&#xff0c;而list是非连续的&#xff0c;分散存储的。因此&#xff0c;vector占用的空间更多&#xff0c;因为它需要为存储的元素分配连续的内存空间。 具体占用多少空间&#xff0c;取决于它们分…

GPT vs Claude到底如何选?

美国当地时间6月20日&#xff0c;OpenAI的“劲敌”Anthropic公司发布了最新模型Claude 3.5 Sonnet。据Anthropic介绍&#xff0c;该模型是Claude 3.5系列模型中的首个版本&#xff0c;也是Anthropic迄今为止发布的“最强大、最智能”的模型。它不仅在性能上超越了竞争对手和自家…

OGRE 3D----5. OGRE和QML事件交互

在现代图形应用程序开发中,OGRE(Object-Oriented Graphics Rendering Engine)作为一个高性能的3D渲染引擎,广泛应用于游戏开发、虚拟现实和仿真等领域。而QML(Qt Modeling Language)则是Qt框架中的一种声明式语言,专注于设计用户界面。将OGRE与QML结合,可以充分利用OGR…

mysql系列2—InnoDB数据存储方式

背景 本文将深入探讨InnoDB的底层存储机制&#xff0c;包括行格式、页结构、页目录以及表空间等核心概念。通过全面了解这些基础概念&#xff0c;有助于把握MySQL的存储架构&#xff0c;也为后续深入讨论MySQL的索引原理和查询优化策略奠定了基础。 1.行格式 mysql中数据以行…

matlab2024a安装

1.开始安装 2.点击安装 3.选择安装密钥 4.接受条款 5.安装密钥 21471-07182-41807-00726-32378-34241-61866-60308-44209-03650-51035-48216-24734-36781-57695-35731-64525-44540-57877-31100-06573-50736-60034-42697-39512-63953 6 7.选择许可证文件 8.找许可证文件 9.选…

交换机四大镜像(端口镜像、流镜像、VLAN镜像、MAC镜像)应用场景、配置实例及区别对比

在网络管理中&#xff0c;端口镜像、流镜像、VLAN镜像和MAC镜像都是用于监控和分析网络流量的重要技术。 端口镜像&#xff08;Port Mirroring&#xff09; 定义&#xff1a;端口镜像是将一个或多个源端口的流量复制到一个目标端口&#xff0c;以便于网络管理员能够监控和分析…

JVM知识点学习-1

学习视频&#xff1a;狂神说Java 类加载器和双亲委派机制 类加载器 作用&#xff1a;加载Class文件 流程&#xff1a;这里的名字car1。。在栈里面&#xff0c;但是数据在堆里面 类加载器的几个类型&#xff1a; 虚拟机自带的类加载器&#xff1b;启动类&#xff08;根Boot…

Linux下的三种 IO 复用

目录 一、Select 1、函数 API 2、使用限制 3、使用 Demo 二、Poll 三、epoll 0、 实现原理 1、函数 API 2、简单代码模板 3、LT/ET 使用过程 &#xff08;1&#xff09;LT 水平触发 &#xff08;2&#xff09;ET边沿触发 4、使用 Demo 四、参考链接 一、Select 在…

python学习笔记 - python安装与环境变量配置

目录 前言1. 版本选择1.1 什么版本合适&#xff1f;1.2 版本越新越好吗&#xff1f;1.3 维护中的大版本里&#xff0c;选择最早的好吗&#xff1f;1.4 我的选择1.5 Python 发布周期1.6 Python维护中的版本及截止时间 2. 安装包下载2.1 官网地址2.2 下载安装包3. 环境安装3.1 新…

管理表空间和数据文件(二)

只读表空间 使用以下命令将表空间设置为只读模式&#xff1a; ALTER TABLESPACE userdata READ ONLY;必须等到TABLESPACE所有的过程都commit&#xff1b;才能可以执行成功。 导致检查点 Causes a checkpoint 意思是将内存中的数据&#xff08;如缓冲区中的更改&#xff09;写…

解决el-card上绑定@click事件,点击无效

解决&#xff1a; 在click后面加一个.native的修饰符即可 解释&#xff1a; .native 修饰符的作用&#xff1a;告诉 Vue&#xff0c;在绑定事件时&#xff0c;使用原生的 DOM 事件&#xff0c;而不是 Vue 自定义的事件。 因为 el-card 作为一个 Element UI 组件&#xff0c;默认…

AD7606使用方法

AD7606是一款8通道最高16位200ksps的AD采样芯片。5V单模拟电源供电&#xff0c;真双极性模拟输入可以选择10 V&#xff0c;5 V两种量程。支持串口与并口两种读取方式。 硬件连接方式&#xff1a; 配置引脚 引脚功能 详细说明 OS2 OS1 OS2 过采样率配置 000 1倍过采样率 …

蓝桥-希尔排序模板题

第一眼看到这个题还在想希尔排序模板不记得了&#xff0c;于是去网上了搜了一个&#xff0c;但是考虑到这种题只看测试点能不能通过&#xff0c;于是用Arrays方法试了一下&#xff0c;发现也可以。 1.希尔排序模板ac代码 package yunkePra;import java.util.Scanner;public cl…

机器学习6_支持向量机_算法流程

最大化&#xff1a; 限制条件&#xff1a; &#xff08;1&#xff09; &#xff08;2&#xff09; 如何求解这个对偶问题&#xff0c;同时基于对偶问题给出支持向量机算法的统一流程。 (核函数) 只要知道核函数&#xff0c;就可以求个这个最优化的对偶问题。 求解了这个对偶…

【WRF-Urban】城市冠层参数UCPs导入WPS/WRF中

城市冠层参数UCPs导入WPS/WRF中 Urban canopy parameters ingestion into WPS/ WRF关于建筑高度分布的分组数量GEOGRID.TBL 文件的配置是否需要修改 Registry 文件其他建议 参考 本博客主要总结WRF&MPAS-Aforum中有关城市冠层参数UCPs导入WPS/WRF的相关内容。原文章地址-Ur…

利用Python爬虫精准获取淘宝商品详情的深度解析

在数字化时代&#xff0c;数据的价值日益凸显&#xff0c;尤其是在电子商务领域。淘宝作为中国最大的电商平台之一&#xff0c;拥有海量的商品数据&#xff0c;对于研究市场趋势、分析消费者行为等具有重要意义。本文将详细介绍如何使用Python编写爬虫程序&#xff0c;精准获取…