Don't render if feature doesn't intersect renderer extent in a warped sense.

This commit is contained in:
tschaub
2011-09-29 19:50:11 -06:00
parent 2549935a8a
commit f5f93ac947

View File

@@ -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];