Leaflet系列——【一】初识Leaflet与Leaflet视图操作

news2024/11/21 0:37:59

初识Leaflet(vue3 )

前言:当你熟悉了openlayer、mapbox、cesium等一些GIS框架之后,对于我们开发来说其实他们的本质就是往瓦片上面叠加图层、【点、线、面、瓦片、geoJson、热力图、图片、svg等等】都是一层层的Layer图层,基本上大差不差,然后这个Leaflet系列我也就基本上照着前面OL的风格写了
OpenLayer 请移步到这

安装依赖

npm i leaflet

1、初始化地图

import L from 'leaflet';
import 'leaflet/dist/leaflet.css';

onMounted(() => {
  initMap()
});
let map = null;

function initMap() {
  // 这里控制的经纬度,纬度在前,经度在后
  // 地图options配置可见 https://leafletjs.cn/reference.html#map-option
  map = L.map('map',{}).setView([23, 129], 5);
  const sourceUrl = 'https://server.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}.png';
  const targetUrl = 'http://server.arcgisonline.com/arcgis/rest/services/Elevation/World_Hillshade_Dark/MapServer/tile/{z}/{y}/{x}.png';
  // 添加一个地图瓦片图层(也可以使用img图像,地图就有会用img展示)
  const tileLayer = L.tileLayer(sourceUrl, {
    // 关于options配置可见 https://leafletjs.cn/reference.html#tilelayer
    maxZoom: 18,
    minZoom: 2,
    // 版权文字
    attribution: '© modify'
  });
  tileLayer.addTo(map);
}

在这里插入图片描述

2、更换瓦片

在leaflet当中可以在初始化地图得到的一个layer(图层)给这个图层重新设置一个瓦片url,完成瓦片切换效果

 // tileLayer methods  这里简单实现,直接五秒后执行这里的代码
  setTimeout(() => {
    // 重新设置瓦片 --->  更改瓦片
    tileLayer.setUrl(targetUrl);
  }, 5000);

3、层级切换

和初始化地图是一样的,重新通过setView重新设置即可

 map.setView([23, 129], 6);

4、区域定位

通过L.map('map')实例的fitBounds方法直接进行定位

  const bounds = [[24.5, 125.7], [26.1, 126.8]];
  map.fitBounds(bounds);

5、地图状态修改

其中3和4都是修改地图的状态,其中还包括一些修改最大最小层级、缩放、平移、平滑等。
移步 —> 修改地图状态

下面的代码也简单都实现一下,仅供参考

const changeMap = () => {
  // map.setView([43, 124], 4);
  // map.setZoom(6);
  // map.zoomIn(7);
  // map.zoomOut(5);
  // map.setZoomAround([23, 120]);
};

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

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

相关文章

AI与人类生活的融合:安克创新CEO阳萌的深度洞见

安克创新CEO阳萌分享了他对人工智能未来发展的深刻见解。阳萌不仅深入探讨了大模型技术的应用前景,还对AI与人类生活的融合提出了引人入胜的思考。以下是对这次访谈内容的总结和分析。 大模型技术的现实应用 阳萌提到,尽管大模型在处理通用知识方面表…

拥有一个生产女朋友的工厂,是什么体验

正所谓,“旱的旱死,涝的涝死”,在这个充满竞争的编程界,我们似乎总是忙于解决bug和优化算法,以至于个人生活常常被忽略。但别担心,今天,我们要用一种独特的方式,解决这个“问题”。 …

OpenAI Whisper 语音转文本实验

为了实现语音方式与大语言模型的对话,需要使用语音识别(Voice2Text)和语音输出(Text2Voice)。感觉这项技术已比较成熟了,国内也有许多的机构开发这项技术,但是像寻找一个方便测试的技术居然还不…

根据后端返回下拉请求地址,前端动态请求拿到下拉数据渲染

完整代码如下&#xff1a; <template> <!-- 资源列表页 --> <div> <div> <i click"$router.go(-1)" style" color: #409eff; cursor: pointer; margin-right: 5px; font-size: 18px; " class"el-icon-back" ><…

C++ 关键字 :using

在 C 庞大语法体系中&#xff0c; using 关键字十分的灵活多用&#xff0c;它可不简单。 除了常规的引入命名空间之外&#xff0c;它还可用于引入枚举类型枚举器、定义常规类型别名、模板类型别名等。在定义常规类型别名方面与C语言中的typedef、#define与之相似&#xff0c;但…

jupyter notebook中调整图片大小

截屏 ctrl V 这个目前只能保证是截屏大小&#xff0c;改变不了&#xff0c;要么之久 把图形缩小后再截图 感觉很模糊 png文件导入 markdown 代码1 <img src"./1.png" width250 height200>markdown 代码2 <img src"./1.png" width938 height…

文献速递:多模态深度学习在医疗中的应用--多模式婴儿脑分割技术:模糊引导深度学习

Title 题目 Multimodal Infant Brain Segmentation by Fuzzy-informed Deep Learning 多模式婴儿脑分割技术&#xff1a;模糊引导深度学习 01 文献速递介绍 日益普及的非侵入式婴儿脑磁共振图像&#xff08;MRI&#xff09;为准确理解脑主要发展轨迹的动态性提供了机会&…

普中STM32F103ZET6开发板让DS0和DS1两个LED同时亮

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.运行效果 一.前言 在这套stm32教程中,只教学了如何亮DS0,而没有教学如何亮DS1。 二.代码 main.c #include "stm32f10x.h"void Syst

一篇文章告诉你聚类算法的作用和怎么用聚类算法!建议收藏!(下篇)

EM聚类 EM聚类 基于概率分布对数据进行建模&#xff0c;通过迭代的期望和最大化步骤来估计模型参数&#xff0c;并将数据分为不同的聚类。EM聚类通常用于处理混合分布的数据&#xff0c;其中每个聚类被建模为一个概率分布。 原理介绍 EM聚类的核心思想是将数据集中的每个样本…

二分答案(区间范围)

D. Jumping Through Segments 输入数据 4 5 1 5 3 4 5 6 8 10 0 1 3 0 2 0 1 0 3 3 3 8 10 18 6 11 4 10 20 0 5 15 17 2 2 输出范围 7 0 5 13#include<bits/stdc.h> #define int long long using namespace std; typedef pair<char,int>PII; const int N2e510;…

应急响应-Windows-挖矿病毒

随着虚拟货币市场的繁荣&#xff0c;挖矿病毒已成为网络安全领域一大挑战。该类病毒利用计算机资源进行加密货币的挖掘&#xff0c;给个人用户和企业网络带来了严重的安全风险。本文将针对挖矿病毒的应急响应和防范措施进行分析和总结。 一.判断挖矿病毒 服务器突然发现CPU资…

树莓派发送指令控制FPGA板子上的流水灯程序

文章目录 前言一、树莓派简介二、整体实现步骤三、树莓派设置四、树莓派串口代码五、Verilog代码5.1 串口接收模块5.2 流水灯模块 六、quartus引脚绑定七、 运行效果总结参考 前言 ​ 本次实验的目的是通过树莓派和FPGA之间的串口通信&#xff0c;控制FPGA开发板上的小灯。实验…

OpenAI 发布新款大型语言模型 GPT-4o,带大家了解最新ChatGPT动态。

OpenAI 发布新款大型语言模型 GPT-4o 昨日OpenAI 举办了一场线上活动&#xff0c;正式发布了其最新研发的 AI 模型 GPT-4o&#xff0c;并详细介绍了该模型的强大功能和未来发展规划。此次发布标志着 AI 技术的重大突破&#xff0c;为用户提供了更加便捷、高效的 AI 工具&#…

css多种布局方式

css多种布局方式 简介标准流布局&#xff08;主要依赖margin\padding&#xff09;浮动布局&#xff08;float&#xff09;定位布局&#xff08;position&#xff09;弹性布局&#xff08;flex&#xff09;网格布局&#xff08;grid&#xff09;多列布局&#xff08;column&…

【论文阅读】<YOLOP: You Only Look Once for PanopticDriving Perception>

Abstract 全视驾驶感知系统是自动驾驶的重要组成部分。一个高精度的实时感知系统可以帮助车辆在驾驶时做出合理的决策。我们提出了一个全视驾驶感知网络&#xff08;您只需寻找一次全视驾驶感知网络&#xff08;YOLOP&#xff09;&#xff09;&#xff0c;以同时执行交通目标检…

7.STL中string的一些超常用函数 (附习题)

目录 1.find 2.atoi 3.to_string 4.getline 【leetcode 习题】 387.字符串中的第一个唯一字符 125. 验证回文串 1.find 1.查找第一次出现的目标字符串&#xff1a;说明&#xff1a;如果查找成功则输出查找到的第一个位置&#xff0c;否则返回-1&#xff1b; s1.find(s2…

嗨动PDF编辑器怎么删除pdf空白页?教程来啦!

嗨动PDF编辑器怎么删除pdf空白页&#xff1f;在日常的工作和学习中&#xff0c;PDF文件因其跨平台兼容性和稳定性而备受青睐。然而&#xff0c;在编辑PDF文件时&#xff0c;我们往往会遇到一些令人头疼的问题&#xff0c;其中最常见的就是空白页。空白页不仅浪费了宝贵的存储空…

ESP32-S3+86盒线控器方案,含开发时问题技术解答

随着智能家居产品越来越多&#xff0c;线控器应用也加大&#xff0c;86盒线控器跟智能吹风机联动&#xff0c;跟中央空调联动&#xff0c;下面讲下ESP32-S386盒线控器方案在开发中遇到的问题。 一、ESP32-S386盒线控器方案&#xff1a; 1、无需网关&#xff0c;可以直接连家里…

零基础10 天入门 Web3之第3天

10 天入门 Web3之第3天 什么是以太坊&#xff0c;以太坊能做什么&#xff1f;Web3 是互联网的下一代&#xff0c;它将使人们拥有自己的数据并控制自己的在线体验。Web3 基于区块链技术&#xff0c;该技术为安全、透明和可信的交易提供支持。我准备做一个 10 天的学习计划&…

Linux系统运行级别

Linux系统运行级别&#xff1a;linux系统共有7个运行级别&#xff0c;不同的级别运行的程序和功能都是不一样的而linux系统默认是运行在一个标准级别上&#xff0c;系统运行级别文件/etc/inittab 运行级别0&#xff1a;所有进程被终止&#xff0c;机器将有序的停止&#xff0c;…