Always load frameState extent for graticule layers

do not call graticule loader with wrapped projection extent
This commit is contained in:
mike-000
2020-03-14 10:14:28 +00:00
committed by Andreas Hocevar
parent 0a7f7db817
commit 772741cd0e

View File

@@ -363,6 +363,8 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
vectorLayerRenderBuffer * resolution);
const projectionExtent = viewState.projection.getExtent();
let loadExtent = extent.slice();
if (vectorSource.getWrapX() && viewState.projection.canWrapX() &&
!containsExtent(projectionExtent, frameState.extent)) {
// For the replay group, we need an extent that intersects the real world
@@ -378,6 +380,10 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
center[0] -= (worldsAway * worldWidth);
}
if (typeof /** @type {?} */ (vectorLayer).getMeridians !== 'function') {
loadExtent = extent;
}
if (!this.dirty_ &&
this.renderedResolution_ == resolution &&
this.renderedRevision_ == vectorLayerRevision &&
@@ -398,10 +404,10 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
const userProjection = getUserProjection();
let userTransform;
if (userProjection) {
vectorSource.loadFeatures(toUserExtent(extent, projection), resolution, userProjection);
vectorSource.loadFeatures(toUserExtent(loadExtent, projection), resolution, userProjection);
userTransform = getTransformFromProjections(userProjection, projection);
} else {
vectorSource.loadFeatures(extent, resolution, projection);
vectorSource.loadFeatures(loadExtent, resolution, projection);
}
const squaredTolerance = getSquaredRenderTolerance(resolution, pixelRatio);