Always load frameState extent for graticule layers
do not call graticule loader with wrapped projection extent
This commit is contained in:
committed by
Andreas Hocevar
parent
0a7f7db817
commit
772741cd0e
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user