【问题标题】:mapbox leaflet javascript pane layer controlmapbox 传单 javascript 窗格层控件
【发布时间】:2015-04-12 13:37:38
【问题描述】:

我正在使用一种方法来创建“地图三明治”,其中我有一个底图、一个叠加层,然后在顶部(在一个新窗格中)有另一个切片层(标签)。

当我尝试在图层控件中切换标签时出现问题。我可以很好地关闭图层。但是,当我尝试重新添加标签时,它们会出现在覆盖层下方。

似乎图层控件应该记住以相同的顺序放回图层。无论如何,有什么解决方法吗?

这是一个 JSFiddle,它简洁地重现了问题。 Fiddle Layer Control Problem

var mbstyle = L.mapbox.tileLayer('statecodemog.aa380654');

var mblabels = L.mapbox.tileLayer('statecodemog.798453f5', {
'clickable': 'false'
});

var map = L.map("map", {
zoom: 8,
center: [39, -104.8],
minZoom: 4,
layers: [mbstyle]
});

//create map sandwich
var topPane = map._createPane('leaflet-top-pane', map.getPanes().mapPane);
var topLayer = mblabels.addTo(map);
topPane.appendChild(topLayer.getContainer());

var baseLayers = {
"Mapbox: Contrast Base": mbstyle
};

var groupedOverlays = {
"Labels and Borders": mblabels
};

L.control.layers(baseLayers, groupedOverlays).addTo(map);

var circle = L.circle([39, -104.8], 200000, {
color: 'red',
fillColor: '#f03',
fillOpacity: 0.5
}).addTo(map);

【问题讨论】:

    标签: javascript leaflet layer mapbox pane


    【解决方案1】:

    mbstylemblabels 层上放置明确的 zIndexes:

    var mbstyle = L.mapbox.tileLayer('statecodemog.aa380654', {
        'zIndex': 1
    });
    
    var mblabels = L.mapbox.tileLayer('statecodemog.798453f5', {
        'clickable': 'false',
        'zIndex': 1000
    });
    

    然后告诉您的 L.control.layers 不要乱用 zIndexes:

    L.control.layers(baseLayers, groupedOverlays, {
        'autoZIndex': false
    }).addTo(map);
    

    Fiddle 的工作分支:http://jsfiddle.net/r01mmfse/

    你甚至可以扔掉你的地图三明治部分:

    //create map sandwich
    var topPane = map._createPane('leaflet-top-pane', map.getPanes().mapPane);
    var topLayer = mblabels.addTo(map);
    topPane.appendChild(topLayer.getContainer());
    

    Fiddle 的另一个分支:http://jsfiddle.net/b8439d32/

    L.TileLayer 参考:http://leafletjs.com/reference.html#tilelayer

    L.control.layers 参考:http://leafletjs.com/reference.html#control-layers

    【讨论】:

    • 您,先生,是个天才。我不知道可以对图层进行如此细粒度的控制 - 而且它很容易实现!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 2013-06-25
    • 2021-02-04
    相关资源
    最近更新 更多