leaflet加载wms服务实现wms交互

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

加载wms服务
给地图添加监听点击事件
构造GetFeatureInfo发送请求,需要包含WMS服务的URL、请求的类型(GetFeatureInfo)、返回信息的格式(通常是application/json或者text/html),以及用户点击的具体位置
javascript 复制代码
//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  //point
        let layer = 'layer图层'
        let bbox = map.getBounds().toBBoxString() //map容器bbox
        let 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)
        })
})          
相关推荐
YouGIS顽石工坊18 天前
风场可视化实战:从数据到动态地图的完整技术实现
可视化·leaflet·天地图·velocity·noaa·真气网
牛老师讲GIS2 个月前
终于,Leaflet WIKI发布上线了
leaflet·webgis
随便起的名字也被占用9 个月前
leaflet中绘制轨迹线的大量轨迹点,解决大量 marker 绑定 tooltip 同时显示导致的性能问题
前端·javascript·vue.js·leaflet
Modify_QmQ10 个月前
leaflet【十一】地图瓦片路径可视化
gis·vue3·leaflet·leafletmapblock
kongxx1 年前
在Angular中使用Leaflet构建地图应用
leaflet
Jinuss1 年前
源码分析之Leaflet中Marker
前端·leaflet
Jinuss1 年前
源码分析之Leaflet中的LayerGroup
前端·leaflet
Jinuss1 年前
源码分析之Leaflet中control模块Zoom类实现原理
前端·leaflet
Jinuss1 年前
源码分析之Leaflet图层控制控件Control.Layers实现原理
源码·leaflet
Jinuss1 年前
源码分析之Leaflet核心模块core中的Util工具方法
前端·leaflet