Do not require an extent for global projections

This commit is contained in:
Andreas Hocevar
2015-04-21 08:47:36 +02:00
parent 4f8dca92ba
commit 40feabc3c8
5 changed files with 61 additions and 7 deletions

View File

@@ -108,7 +108,7 @@ ol.renderer.canvas.Map.prototype.dispatchComposeEvent_ =
var projectionExtent = projection.getExtent();
var resolution = viewState.resolution;
var rotation = viewState.rotation;
var repeatReplay = (wrapX && projection.isGlobal() &&
var repeatReplay = (wrapX && projection.canWrapX() &&
!ol.extent.containsExtent(projectionExtent, extent));
var skippedFeaturesHash = {};

View File

@@ -110,7 +110,7 @@ ol.renderer.canvas.VectorLayer.prototype.composeFrame =
replayGroup.replay(
replayContext, pixelRatio, transform, rotation, skippedFeatureUids);
if (vectorSource.getWrapX() && projection.isGlobal() &&
if (vectorSource.getWrapX() && projection.canWrapX() &&
!ol.extent.containsExtent(projectionExtent, frameState.extent)) {
var startX = extent[0];
var worldWidth = ol.extent.getWidth(projectionExtent);
@@ -229,7 +229,7 @@ ol.renderer.canvas.VectorLayer.prototype.prepareFrame =
vectorLayerRenderBuffer * resolution);
var projectionExtent = viewState.projection.getExtent();
if (vectorSource.getWrapX() && viewState.projection.isGlobal() &&
if (vectorSource.getWrapX() && viewState.projection.canWrapX() &&
!ol.extent.containsExtent(projectionExtent, frameState.extent)) {
// do not clip when the view crosses the -180° or 180° meridians
extent[0] = projectionExtent[0];

View File

@@ -157,7 +157,7 @@ ol.renderer.Map.prototype.forEachFeatureAtCoordinate =
var projection = viewState.projection;
var translatedX;
if (projection.isGlobal()) {
if (projection.canWrapX()) {
var projectionExtent = projection.getExtent();
var worldWidth = ol.extent.getWidth(projectionExtent);
var x = coordinate[0];