Merge pull request #13434 from M393/rendercomplete-invisible-webglpoints
Fix rendercomplete with invisible WebGLPoints layer
This commit is contained in:
@@ -950,13 +950,16 @@ class PluggableMap extends BaseObject {
|
||||
getLoadingOrNotReady() {
|
||||
const layerStatesArray = this.getLayerGroup().getLayerStatesArray();
|
||||
for (let i = 0, ii = layerStatesArray.length; i < ii; ++i) {
|
||||
const layer = layerStatesArray[i].layer;
|
||||
const renderer = layer.getRenderer();
|
||||
const state = layerStatesArray[i];
|
||||
if (!state.visible) {
|
||||
continue;
|
||||
}
|
||||
const renderer = state.layer.getRenderer();
|
||||
if (renderer && !renderer.ready) {
|
||||
return true;
|
||||
}
|
||||
const source = /** @type {import("./layer/Layer.js").default} */ (
|
||||
layer
|
||||
state.layer
|
||||
).getSource();
|
||||
if (source && source.loading) {
|
||||
return true;
|
||||
|
||||
@@ -491,6 +491,18 @@ describe('ol/Map', function () {
|
||||
})
|
||||
);
|
||||
});
|
||||
it('ignores invisible layers', function (done) {
|
||||
map.getLayers().forEach(function (layer, i) {
|
||||
layer.setVisible(i === 4);
|
||||
});
|
||||
map.setView(
|
||||
new View({
|
||||
center: [0, 0],
|
||||
zoom: 0,
|
||||
})
|
||||
);
|
||||
map.once('rendercomplete', () => done());
|
||||
});
|
||||
});
|
||||
|
||||
describe('#getFeaturesAtPixel', function () {
|
||||
|
||||
Reference in New Issue
Block a user