diff --git a/src/ol/renderer/canvas/VectorLayer.js b/src/ol/renderer/canvas/VectorLayer.js index d9e5e308e2..3429f64106 100644 --- a/src/ol/renderer/canvas/VectorLayer.js +++ b/src/ol/renderer/canvas/VectorLayer.js @@ -361,9 +361,8 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer { const center = viewState.center.slice(); const extent = buffer(frameStateExtent, vectorLayerRenderBuffer * resolution); - const projectionExtent = viewState.projection.getExtent(); - let loadExtent = extent.slice(); + const projectionExtent = viewState.projection.getExtent(); if (vectorSource.getWrapX() && viewState.projection.canWrapX() && !containsExtent(projectionExtent, frameState.extent)) { @@ -376,14 +375,14 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer { const gutter = Math.max(getWidth(extent) / 2, worldWidth); extent[0] = projectionExtent[0] - gutter; extent[2] = projectionExtent[2] + gutter; + // Except for Graticule use this for loading features + if (typeof /** @type {?} */ (vectorLayer).getMeridians !== 'function') { + loadExtent = extent; + } const worldsAway = Math.floor((center[0] - projectionExtent[0]) / worldWidth); center[0] -= (worldsAway * worldWidth); } - if (typeof /** @type {?} */ (vectorLayer).getMeridians !== 'function') { - loadExtent = extent; - } - if (!this.dirty_ && this.renderedResolution_ == resolution && this.renderedRevision_ == vectorLayerRevision &&