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