leaflet学习笔记-地图缩略图(鹰眼)的添加(三)

介绍

地图缩略图控件有助于用户了解主窗口显示的地图区域在全球、全国、全省、全市等范围内的相对位置,也称为鹰眼图。Leaflet提供了好几种地图缩略图控件,本文介绍其中一个最常用控件,即插件Leaflet.MiniMap。

依赖添加

这些地图控件都可以在官网的Plugins中找到并且可以下载,但是由于我们的项目是vue项目,所以我还是坚持用npm下载,网上很多人都不推荐这种方式,因为有些控件是英文的提示之类的,不好做修改。但是作为学习我们还是怎么简单怎么来吧。

npm i leaflet-minimap

vue页面中引入

import MiniMap from 'leaflet-minimap';
//一定要引入样式
import "leaflet-minimap/dist/Control.MiniMap.min.css";

这里要注意一定要引入样式css文件,不然控件的有些功能会异常

创建缩略图的图层

缩略图中也是一个缩小版的地图,所以当然也需要给它一个图层,当然也可以是图层的组合,但是这里我们需要注意,地图缩略图控件中的地图图层不能再加载到主窗口地图视图中,否则会产生一些奇怪的问题。这里我们定义一个缩略图的图层,在缩略图中显示

  // 定义一个图层(注意:小地图的layer不能和地图上共用一个,否则无法加载)const minilayer = L.tileLayer(`https://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetWarm/MapServer/tile/{z}/{y}/{x}`);

添加地图缩略图(鹰眼)

    let miniMap = new MiniMap(minilayer, {// 鹰眼图配置项,参数非必须,可以忽略使用默认配置width: 200, // 鹰眼图宽度height: 200, // 鹰眼图高度toggleDisplay: true, // 是否显示最小化按钮minimized: false, // 是否最小化位置开始}).addTo(this.mainMap);

完整代码

<template><div id="mainMap"></div>
</template><script>
import MiniMap from 'leaflet-minimap';
import "leaflet-minimap/dist/Control.MiniMap.min.css";export default {name: "MainMap",data: () => {return {centerLatLng: [25, 102.7],mainMap: null}},methods: {},mounted() {this.mainMap = L.map('mainMap', {center: [25, 102.7], // 地图中心zoom: 14, //缩放比列zoomControl: true, //禁用 + - 按钮doubleClickZoom: true, // 禁用双击放大attributionControl: false, // 移除右下角leaflet标识});//添加瓦片图层(作为底图备选)let openstreetmapLayer = L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png?{foo}', {foo: 'bar'}).addTo(this.mainMap);let somedomainLayer = L.tileLayer('http://{s}.somedomain.com/{foo}/{z}/{x}/{y}.png', {foo: 'bar'});// 定义一个图层(注意:小地图的layer不能和地图上共用一个,否则无法加载)const minilayer = L.tileLayer(`https://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetWarm/MapServer/tile/{z}/{y}/{x}`);let circle = L.circle(this.centerLatLng, {radius: 100, fillColor: 'red'});let littleton = L.marker([25.61, 102.7]).bindPopup('This is Littleton, CO.');let denver = L.marker([25.61, 102.71]).bindPopup('This is Denver, CO.');let aurora = L.marker([25.61, 102.72]).bindPopup('This is Aurora, CO.');let golden = L.marker([25.61, 102.73]).bindPopup('This is Golden, CO.');//相当于arcgis的featureLayerlet featureGroup = L.featureGroup([circle, littleton, denver, aurora, golden]);featureGroup.addTo(this.mainMap);//聚焦所有的markerlet bound = featureGroup.getBounds();this.mainMap.fitBounds(bound);//基础底图(每次只能有一个)let baseLayers = {openstreetmapLayer,somedomainLayer,};//覆盖图层let overlays = {// circle,// littleton,// denver,// aurora,// golden,'<i style="color:red;">layerGroup</i>': featureGroup};//添加图层管理组件let layerControl = L.control.layers(baseLayers, overlays, {position: 'topright'}).addTo(this.mainMap);let miniMap = new MiniMap(minilayer, {// 鹰眼图配置项,参数非必须,可以忽略使用默认配置width: 200, // 鹰眼图宽度height: 200, // 鹰眼图高度toggleDisplay: true, // 是否显示最小化按钮minimized: false, // 是否最小化位置开始}).addTo(this.mainMap);}
}
</script><style scoped>#mainMap {width: 100vw;height: 100vh;
}
</style>

本文为学习笔记,仅供参考

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

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

相关文章

清除conda和pip缓存的方法

conda 清除conda缓存中的所有包、索引和临时文件&#xff0c; conda clean --all 只清除conda缓存中的包&#xff0c;而不清除索引和临时文件 &#xff0c; conda clean --packages pip 清除pip缓存中的所有包和索引文件&#xff0c; pip cache purge

使用机器学习进行语法错误检测/纠正

francescofranco_39234 一、说明 一般的学习&#xff0c;特别是深度学习&#xff0c;促进了自然语言处理。各种模型使人们能够执行机器翻译、文本摘要和情感分析——仅举几个用例。今天&#xff0c;我们将研究另一个流行的用途&#xff1a;我们将使用Gramformer构建一个用于机器…

时间序列系列03-统计模型

时间序列统计模型是用来描述和预测时间序列数据的数学模型。这些模型通常基于过去的观测值&#xff0c;并假设时间序列的行为是可预测的。以下是一些常见的时间序列统计模型&#xff1a; 1. 自回归移动平均模型&#xff08;ARMA&#xff09;&#xff1a; ARMA 模型是由自回归…

vue常见面试题

1. Vue的最大优势是什么? 简单易学, 轻量级整个源码js文件不大, 双向数据绑定, 数据驱动视图, 组件化, 数据和视图分离, vue负责关联视图和数据, 作者中国人(尤雨溪), 文档都是中文的, 入门教程非常多, 上手简单. 相比传统网页, vue是单页面可以只刷新某一部分 2. Vue和jQ…

使用mysqldump命令备份数据库

在MySQL数据库管理中&#xff0c;备份和恢复数据库是非常重要的操作。备份可以帮助我们在数据丢失或者出现其他问题时恢复数据&#xff0c;而恢复可以帮助我们将备份的数据重新导入到数据库中。本文将详细介绍如何备份和恢复MySQL数据库。 一、备份MySQL数据库 使用mysqldump命…

数据结构常见算法总结

图的广度遍历 初始化visited[]数组for 对未访问过的顶点调用广度优先遍历算法广度优先遍历 先将参数送进来的序号对应的visited[v]置为true&#xff0c;并将v入队队列Q不空时循环&#xff1a;遍历Q中元素&#xff0c;并将未访问过的边表结点入队 bool visited[max_vex_num];…

React学习计划-React16--React基础(七)redux使用与介绍

笔记gitee地址 一、redux是什么 redux是一个专门用于做状态管理的js库&#xff08;不是react插件库&#xff09;它可以用在react、angular、vue的项目中&#xff0c;但基本与react配合使用作用&#xff1a;集中式管理react应用中多个组件共享的状态 二、什么情况下需要使用r…

sheng的学习笔记-卷积神经网络

源自吴恩达的深度学习课程&#xff0c;仅用于笔记&#xff0c;便于自行复习 导论 1&#xff09;什么是卷积神经网络 卷积神经网络&#xff0c;也就是convolutional neural networks &#xff08;简称CNN&#xff09;&#xff0c;使用卷积算法的神经网络&#xff0c;常用于计…

感染了后缀为.[sqlback@memeware.net].2700勒索病毒如何应对?数据能够恢复吗?

导言&#xff1a; 近期&#xff0c;[sqlbackmemeware.net].2700 勒索病毒成为网络安全的一大威胁。该勒索病毒采用高度复杂的加密算法&#xff0c;将用户文件加密并勒索赎金。了解该病毒的特征对于有效恢复被加密数据以及预防进一步感染至关重要。如果受感染的数据确实有恢复的…

Ubuntu Desktop 软件包管理

Ubuntu Desktop 软件包管理 ubuntu desktop 常见的包格式有 deb, AppImage, snap 等。本文介绍这几种格式软件的安装方法。 1.deb 格式 使用 apt 命令管理 deb 包 详细查看 man apt。 apt是一个命令行程序&#xff0c;用于在Ubuntu&#xff0c;Debian和基于Debian的Linux发…

linux 网络工具(一)

linux 网络工具 1. nmcli命令1.1 介绍1.2 networking 网络控制1.3 connection 连接管理1.4 device 设备管理1.5 nmcli 返回状态码 2. ifcfg命令家族2.1 ifconfig2.2 route2.3 netstat 3. 静态路由CentosUbuntu - netplanUbuntu - network-manager 1. nmcli命令 1.1 介绍 RHEL…

Vue - 计算属性的妙用

计算属性的运用 Vue 组件的计算属性是一种通过对已有数据进行实时计算&#xff0c;生成新的数据的方式。在下面的代码中&#xff0c;我们通过计算属性 publishedBooksMessage 实时展示作者发布的书籍信息。 <template><div><p>作者: {{ author.name }}<…

工具系列:TimeGPT_(6)同时预测多个时间序列

TimeGPT提供了一个强大的多系列预测解决方案&#xff0c;它涉及同时分析多个数据系列&#xff0c;而不是单个系列。该工具可以使用广泛的系列进行微调&#xff0c;使您能够根据自己的特定需求或任务来定制模型。 # Import the colab_badge module from the nixtlats.utils pac…

ubuntu 使用openssl制作一个自签名证书

我们需要为浏览器创建自己的根CA证书来信任自签名证书。因此&#xff0c;让我们首先创建根CA证书 创建根CA证书 创建文件夹 mkdir openssl && cd openssl执行以下openssl命令&#xff0c;生成 rootCA.key 以及 rootCA.crt. 用你的域名或者ip地址替换demo.mlopshub.c…

如何将自己的项目上传到github上,并进行项目管理

将项目上传到GitHub并进行项目管理是一个多步骤的过程。以下是一个简单的示例&#xff0c;指导您如何完成这一过程&#xff1a; 1. 创建GitHub账户 如果您还没有GitHub账户&#xff0c;请先在 GitHub 上注册一个。 2. 创建新仓库 登录您的GitHub账户。在GitHub主页的右上角…

HTML简介、基本骨架、标签的关系、注释、路径

1 HTML HTML超文本标记语言 超文本——链接 标记——标记也叫标签&#xff0c;带尖括号<>的文本 标签语法&#xff1a; 标签成对出现&#xff0c;中间包裹内容 <>里面放英文字母(标签名) 结束标签比开始标签多/ 拓展&#xff1a; 双标签&#xff1a;成对出现的标签…

编程语言的未来

当我们思考编程语言的未来时&#xff0c;我们不能忽视JavaScript的重要性。作为前端开发者&#xff0c;我们深知JavaScript在开发中的重要性。它不仅改变了我们与网页的交互方式&#xff0c;还推动了整个前端开发领域的发展。 那么&#xff0c;从当前的趋势和技术发展来看&…

HarmonyOS —— UIAbility 页面跳转总结

HarmonyOS —— UIAbility 页面跳转总结 Author&#xff1a;Gorit Date&#xff1a;2023年12月27日 一、系统环境 HarmonOS API9SDK 3.1.0Stage 模型 二、应用内跳转 在应用内之前实现不同 page 的跳转&#xff0c;我们使用 router 即可&#xff0c;页面跳转主要支持如下…

Python:PyTorch

简介 PyTorch是一个开源的机器学习库&#xff0c;由Facebook的人工智能研究团队&#xff08;FAIR&#xff09;开发&#xff0c;用于应用于机器学习和深度学习的Python程序。PyTorch基于Torch&#xff0c;使用Python语言重新编写&#xff0c;使得它更容易使用和扩展。它支持强大…

生产系统稳定上线600天!中国联通CUDB for OceanBase的开源共建和规模化应用

中国联通软件研究院架构部平台承载了上千应用的数据库需求&#xff0c;并且现存大量数据库使用过程缺少规范、缺少监控&#xff0c;同时还存在着数据库核心技术相关风险。为了实现核心技术自主可控&#xff0c;及时为用户解决线上问题、满足用户的功能需求&#xff0c;提供物美…