vue上用leaflet自适应加载自己的geoserver上的高清地图

本文详细介绍了如何使用Leaflet在Vue应用中加载高清晰度地图,包括创建地图容器、初始化地图、加载自定义WMS服务,并演示了绑定鼠标事件的操作。重点在于通过Geoserver的WMS服务加载地图数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、leaflet地图加载

1.新建div,id为map

2.在method里面新建初始化方法

3.在mouted中调用初始化方法,initmap()

二、加载自己的高清地图,通过geoserver的wms服务

1.获取名称

2.wms服务加载

3.绑定事件


一、leaflet地图加载

1.新建div,id为map

<template>
  <div class="map-container" id="map"></div>
</template>

2.在method里面新建初始化方法

data() {
    return {
    map:"",
    layerGroups:"",

    }
}

methods:{
initmap(){
    this.map = L.map('map',{
        center: [23.15763794413284, 113.34546817452538], // 地图中心
        maxNativeZoom: 18,
        maxZoom: 100,  //最大放大倍数
        minZoom: 3, //最小缩小倍数
        zoom: 18, //默认放大倍数
        zoomControl: false,
        attributionControl: false,
        crs: L.CRS.EPSG3857,
      })
    L.tileLayer(url, {
        zoomOffset: -1,
        tileSize: 512,
        maxZoom: 100,
        minNativeZoom: 0,
        maxNativeZoom: 100
      }).addTo(this.map) //加载底图,url为底图瓦片地址,tips:不同瓦片底图可能有偏移
}
this layerGroups = new L.FeatureGroup({}).addTo(this.map) //初始化图层组,用于放自己的高清地图(或者路径点信息之类)

}

3.在mouted中调用初始化方法,initmap()

 mounted() {
    this.initmap();
  },

二、加载自己的高清地图,通过geoserver的wms服务

1.获取名称

首先要做的是跟自己后端请求需要加载的地图或者点图路径图的wms服务名称,这里指的是在geoserver上传后,图层预览里面能看到的名称

2.wms服务加载

通过leaflet的wms服务获取图层然后加载到地图里面

var url ='示例:http://110.110.110.110:8888/geoserver/mylayer/wms' //geoserver的地址(可能有的需要端口号)+‘/geoserver/’+geoserver工作区的名称+‘/wms’
var a = L.tileLayer
              .wms(url, {
                layers: '请求到的地图名称',
                service: "WMS",
                transparent: true,
                format: "image/png",
                crs: L.CRS.EPSG4326,
                maxZoom: 100
              })
              .addTo(this.map);
 this.layerGroups.addLayer(a);

3.绑定事件

一般可以绑定点击事件去触发加载,例如绑定 mouseup(鼠标松开时触发)

this.map.on('mouseup', e =>{
//触发事件
})
// map是放在data里的map

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小周bb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值