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);
|
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);
|
||||||
|
|||||||
Reference in New Issue
Block a user