From f5f93ac947126141ea322a8584756882680a1231 Mon Sep 17 00:00:00 2001 From: tschaub Date: Thu, 29 Sep 2011 19:50:11 -0600 Subject: [PATCH] Don't render if feature doesn't intersect renderer extent in a warped sense. --- lib/OpenLayers/Renderer/Canvas.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/OpenLayers/Renderer/Canvas.js b/lib/OpenLayers/Renderer/Canvas.js index d9e7828469..582fe62e14 100644 --- a/lib/OpenLayers/Renderer/Canvas.js +++ b/lib/OpenLayers/Renderer/Canvas.js @@ -141,8 +141,15 @@ OpenLayers.Renderer.Canvas = OpenLayers.Class(OpenLayers.Renderer, { style = this.applyDefaultSymbolizer(style || feature.style); // don't render if display none or feature outside extent var bounds = feature.geometry.getBounds(); - rendered = (style.display !== "none") && !!bounds && - bounds.intersectsBounds(this.extent); + + var worldBounds; + if (this.map.baseLayer && this.map.baseLayer.wrapDateLine) { + worldBounds = this.map.getMaxExtent(); + } + + var intersects = bounds.intersectsBounds(this.extent, {worldBounds: worldBounds}); + + rendered = (style.display !== "none") && !!bounds && intersects; if (rendered) { // keep track of what we have rendered for redraw this.features[feature.id] = [feature, style];