leaflet加载wms服务实现wms交互

news/2024/5/19 17:16:31

leaflet地图与wms服务的交互,点击wms服务获取地理区域信息以及后续操作

  1. 加载wms服务
  2. 给地图添加监听点击事件
  3. 构造GetFeatureInfo发送请求,需要包含WMS服务的URL、请求的类型(GetFeatureInfo)、返回信息的格式(通常是application/json或者text/html),以及用户点击的具体位置
//map:地图容器
L.tileLayer.wms('wms服务url', {layers: 'layer图层',format: 'image/png',transparent: true,}).setZIndex(9999).addTo(map)
var that=this
map.on('click', function(e) {let latlng = e.latlng   //经纬度let containerPoint = e.containerPoint  //pointlet layer = 'layer图层'let bbox = map.getBounds().toBBoxString() //map容器bboxlet size = map.getSize()  let params = {request: 'GetFeatureInfo',service: 'WMS',srs: 'EPSG:4326',styles: '',transparent: true,version: '1.1.1', format: 'image/png',bbox: map.getBounds().toBBoxString(),height: size.y,width: size.x,layers: '图层服务名',//图层服务名query_layers: '图层服务名', //图层服务名info_format: 'application/json' ,x:containerPoint.x,y:containerPoint.y,};//在这块请求geoservice接口可能会出现跨域问题需要解决getAction('你的geoservice-url', params).then((res)=>{//点击高亮显示let layer = L.geoJSON(res.features[0], {style: function (feature) {return { weight: 3, color: '#00FF7F', fillOpacity: 0.6 }},}).addTo(that.areaLayer)})
})          

http://www.mrgr.cn/p/60325530

相关文章

rocketMQ一

参考: 图灵课堂:https://vip.tulingxueyuan.cnMQ简介 MQ:MessageQueue,消息队列。是在互联网中使用非常广泛的一系列服务中间件。 这个词可以分两个部分来看, 一是Message:消息。消息是在不同进程之间传递的数据。这些进程可以部署在同一台机器上,也可以分布在不同机器上…

深入剖析:如何使用Pulsar和Arthas高效排查消息队列延迟问题

背景 前两天收到业务反馈有一个 topic 的分区消息堆积了:根据之前的经验来看,要么是业务消费逻辑出现问题导致消费过慢,当然也有小概率是消息队列的 Bug(我们使用的是 pulsar)。 排查通过排查,发现确实是在一点多的时候消息堆积了(后面是修复之后堆积开始下降)。 于是我…

五一反向旅游,景区“AI+视频监控”将持续助力旅游业发展

一、建设背景 每年五一劳动节出去旅游都是人挤人状态,这导致景区的体验感极差。今年“五一反向旅游”的话题冲上了热搜,好多人选择了五一之后再出去旅游,避开拥挤的人群,这个时候景区的监管力度和感知能力就更要跟上去&#xff0…

openGauss 冲突处理

冲突处理 逻辑复制的行为类似于正常的DML操作,即便数据在订阅者节点本地被修改,逻辑复制也会根据收到的更改来更新数据。如果流入的数据违背了任何约束,复制将停止。这种情况被称为一个冲突。在复制UPDATE或DELETE操作时,缺失的数据将不会产生冲突并且这类操作将被简单地跳…

基于大语言模型多智体的综述:进步和挑战!

源自: 人工智能前沿讲习 “人工智能技术与咨询” 发布 声明:公众号转载的文章及图片出于非商业性的教育和科研目的供大家参考和探讨,并不意味着支持其观点或证实其内容的真实性。版权归原作者所有,如转载稿涉及版权等问题,请立即…

数塔问题(蛮力算法和动态规划)

题目:如下图是一个数塔,从顶部出发在每一个节点可以选择向左或者向右走,一直走到底层,要求找出一条路径,使得路径上的数字之和最大,及路径情况。(使用蛮力算法和动态规划算法分别实现) #include…

Linux下使用RAID

目录 1. 创建RAID准备 2. 创建RAID 0 2.1. 创建磁盘阵列 (1)创建磁盘阵列 (2)查看磁盘阵列信息 (3)挂载文件系统 (4)保存RAID信息 (5)开机自动挂载RA…

LeetCode-DFS-树类-简单难度

关于二叉树的相关深度优先遍历类题目,重点在于掌握最基本的前中后序遍历,大多数题目都在围绕这套逻辑,找到处理节点的时机,以及停止遍历的条件,即可顺利完成。 二叉树前中后序遍历模板 所谓前中后序,指的…

Python中的分布式爬虫系统Scrapy与分布式任务队列的结合

随着互联网的不断发展,网络爬虫在数据采集和信息挖掘中发挥着重要作用。然而,单机爬虫往往难以应对大规模数据抓取的需求,因此,构建分布式爬虫系统成为了一种必然选择。本文将介绍如何利用 Python 中的 Scrapy 框架和分布式任务队…

No space left on device

报错提示 [ERROR] Upload Local File hwzt-third-party-out.jar Failed [ERROR] java.lang.RuntimeException: cp: error writing : No space left on device [ERROR] com.alibabacloud.commons.ssh.sshj.SshjConnection.executeCustomCharset(SshjConnection.java:172) …

Anaconda删除虚拟环境目录pkgs和envs|conda瘦身

这个文件夹里面是专门放不同环境中的包的,只是没有区分环境,都混在一起了, 一般在想要删除一个虚拟环境,除了在命令行中输入conda remove -n your_env_name(虚拟环境名称) --all 然后在envs中删除虚拟环境的文件夹, 还…

如何完美解决Outlook大文件传送问题,提升办公协作效率?

在日常工作中,邮件是一种常用的通信方式,经常用来发送各类文件,比如报告和文档、合同和协议、财务报表、营销资料、设计文件等。但有时文件会比较大,因此Outlook大文件传送时,会遇到附件大小受限的情况。常用的解决发送大文件的问题有以下几种: 1.压缩文件:如果文件大小…

Docker私有仓库与Harbor部署使用

目录 一、本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ​编辑 3. 运行registry容器 4. Docker容器的重启策略如下 5. 为镜像打标签 6. 上传到私有仓库 7. 列出私有仓库的所有镜像 8. 列出私有仓库的centos镜像有哪些tag 9. 先删…

记一次java进程频繁挂掉问题排查修复

前言 最近业务部门有个java服务进程会突然无缘无故的挂掉,然后这个服务会产生一堆类似hs_err_pid19287.log这样的日志。业务部门负责人就把hs_err_pidxxx的日志发给我,让我帮忙看下问题。本文就来回顾一下,我是如何帮业务部门进行问题排查 排查历程 首先hs_err_pidxxx的日志…

BigDecimal精度理解

BigDecimal的类声明以及几个属性:接下来我们可以debug来看下其运行原理BigDecimal bigDecimal1 = BigDecimal.valueOf(2.88);BigDecimal bigDecimal2 = BigDecimal.valueOf(3.5);BigDecimal resDecimal = bigDecimal1.add(bigDecimal2);System.out.println(resDecimal); 可以看…

linux使用blkid未显示所有设备的UUID

如题: 使用lsblk命令可以看到,服务器存在设备vdb但使用blkid命令,系统未返回所有硬盘的UUID同时,使用lsblk -f命令,可以看到系统返回的设备挂载情况,也没有返回vdb的信息解决方案: 查询资料,看到有一个解决方法 使用sudo blkid进行查询,发现可以查询到/dev/vdb设备的U…

HFSS学习-day1-T形波导的内场分析和优化设计

入门实例--T形波导的内场分析和优化设计 HFSS--此实例详细步骤1.创建项目2.设置求解类型3.设置与建模相关的一些信息设置默认的建模长度单位 4.创建T形模型的三个臂基本参数端口激励进行复制 5.创建被挖去的部分设置正确的边界条件和端口激励方式添加求解设置添加扫频项检查一下…

opencv基础篇 ——(十六)图形绘制与填充

OpenCV 提供了丰富的图形绘制和填充功能,主要通过 cv::rectangle, cv::circle, cv::line, cv::polylines, cv::fillPoly 和 cv::ellipse 等函数实现。以下是一些基本的图形绘制和填充操作的说明: 矩形: 函数: cv::rectangle语法: cv::rectangle(img, rec…

标准的JavaBean类书写

ptg插件 只需输入方法名和变量右键即可生成完整javabean方法

kettle从入门到精通 第五十七课 ETL之kettle调用存储过程

想真正学习或者提升自己的ETL领域知识的朋友欢迎进群,一起学习,共同进步。若二维码失效,公众号后台加我微信入群,备注kettle。 1、之前有个同学说他使用kettle执行一坨sql语句时,kettle直接卡死掉了。我给出的建议是使…