首页 > 解决方案 > QGIS-Server LeafLet 图层顺序

问题描述

我有一个传单项目渲染L.TileLayers.WMSL.GeoJSON图层。WMS 和 GeoJSON 图层由 QGIS-Server 提供服务。我正在尝试重新排序pane用于 GeoJSON 和zIndexWMS 图层bringToFront()bringToBack()方法的图层。他们都没有做这项工作。

似乎 WMS 图层是按照 QGIS 项目 .qgs 中的顺序加载的。谁能指出我在下面的代码中缺少的内容:

let qgisserverBaseURL = 'http://10.0.0.113/cgi-bin/qgis_mapserv.fcgi?'

let cbers4Options = {
    map: '/home/qgis/project/inde.qgs',
    layers: 'cbers4',
    zIndex: 500,
    tiled: true,
    format: 'image/png',
    transparent: true,
    srs: 'EPSG:4326',
    version: '1.3.0'
} 
 let cbers4 = new L.TileLayer.WMS(qgisserverBaseURL, cbers4Options)

map.createPane('pane400');
map.getPane('pane400').style.zIndex = 400;
map.getPane('pane400').style.pointerEvents = 'none';

let biomas = new L.GeoJSON(null, {
    style: biomas_style,
    onEachFeature: onEachFeature,
    pane: 'pane400'

});

let overLayers = {
  
    'cbers4': cbers4,
    'biomas': biomas,

};

L.control.layers(baseMaps, overLayers, {
    collapsed: false,
}).addTo(map);

根据这个配置,cbers4 层应该出现在 biomas 层之上,但它并没有通过。如果我使用cbers4.bringToFront()andbiomas.bringToBack()方法,图层顺序也不会改变。任何帮助将不胜感激。

标签: javascripthtmlcssleafletqgis

解决方案


推荐阅读