Я использую подход для создания «сэндвича карты», в котором у меня есть базовая карта, слой наложения, а затем еще один слой плитки (метки) сверху (в новом окне).mapbox sheetlet javascript панель управления слоем
Проблема возникает, когда я пытаюсь переключать метки в элементе управления цветом. Я могу полностью отключить слой. Однако, когда я пытаюсь повторно добавить метки, они появляются под слоем наложения.
Кажется, что элемент управления слоем должен помнить о том, чтобы сложить слои в том же порядке. Независимо от того, есть ли способ обхода?
Вот 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);
Ты, сэр, гений. Я понятия не имел, что такой мелкозернистый контроль слоев был возможен - и его так просто реализовать! – user2242552