我正在学习leaflet.js,并希望能够创建可与GeoServer一起使用的网络地图。我现在的主要问题是从导入的栅格图层中消除通过L.tileLayer.wms
引入的白色背景。我曾经遇到过这个问题,尽管有了矢量数据,但我通过将transparent: true
和zIndex: 2
设置为基本映射设置为1
来解决了该问题。当我将新的栅格图层透明度和zIndex
设置为相同的参数值时,整个图层消失了;现在我只能看到我的基本地图。我在网上能找到消除白色背景的全部方法是设置zIndex
和设置transparent: true
。希望外面有人遇到过这个问题,可以教给我一些我所缺少的东西。
附上我的代码示例:
var esri = L.esri.basemapLayer('Imagery').addTo(map);
var test_layer = L.tileLayer.wms('http://localhost:8080/geoserver/learn_js/wms',{
layers: 'learn_js:geotiff_coverage',
format: 'image/png',
zIndex: 2,
transparent: true
//opacity: 0.5
}).addTo(map);
问题似乎出在我使用的光栅图像上。我将光栅图像切换到我感兴趣的区域内的图像,现在该图像似乎正在加载,并且消除了背景像素。我仍然不知道为什么一个可行,而另一个却不可行,但是至少我知道没有编码或地理服务器问题。可能是由于具有光栅图像内部结构的某种原因导致此挂断。我确实知道,对于我的原始图像,geoserver仪表板内的图块层预览不会将图像显示为png,而会显示为jpeg。对于我的新图像,geoserver的图块层预览显示所有格式的图像。