Do not use css z-index

This commit is contained in:
ahocevar
2019-05-16 09:57:47 +02:00
parent 17d26acb2f
commit b0fae46aa6
2 changed files with 11 additions and 12 deletions

View File

@@ -9,12 +9,6 @@ import Point from '../../../src/ol/geom/Point.js';
const map = new Map({
layers: [
new TileLayer({
source: new XYZ({
url: '/data/tiles/satellite/{z}/{x}/{y}.jpg',
maxZoom: 3
})
}),
new VectorLayer({
zIndex: 1,
style: new Style({
@@ -27,6 +21,12 @@ const map = new Map({
url: '/data/countries.json',
format: new GeoJSON()
})
}),
new TileLayer({
source: new XYZ({
url: '/data/tiles/satellite/{z}/{x}/{y}.jpg',
maxZoom: 3
})
})
],
target: 'map',

View File

@@ -81,10 +81,13 @@ class CompositeMapRenderer extends MapRenderer {
this.calculateMatrices2D(frameState);
this.dispatchRenderEvent(RenderEventType.PRECOMPOSE, frameState);
const layerStatesArray = frameState.layerStatesArray;
const layerStatesArray = frameState.layerStatesArray.sort(function(a, b) {
return a.zIndex - b.zIndex;
});
const viewResolution = frameState.viewState.resolution;
this.children_.length = 0;
let element = null;
for (let i = 0, ii = layerStatesArray.length; i < ii; ++i) {
const layerState = layerStatesArray[i];
if (!visibleAtResolution(layerState, viewResolution) ||
@@ -93,12 +96,8 @@ class CompositeMapRenderer extends MapRenderer {
}
const layer = layerState.layer;
const element = layer.render(frameState);
element = layer.render(frameState);
if (element) {
const zIndex = layerState.zIndex;
if (zIndex !== element.style.zIndex) {
element.style.zIndex = zIndex === Infinity ? Number.MAX_SAFE_INTEGER : zIndex;
}
this.children_.push(element);
}
}