Don't render if feature doesn't intersect renderer extent in a warped sense.
This commit is contained in:
@@ -141,8 +141,15 @@ OpenLayers.Renderer.Canvas = OpenLayers.Class(OpenLayers.Renderer, {
|
|||||||
style = this.applyDefaultSymbolizer(style || feature.style);
|
style = this.applyDefaultSymbolizer(style || feature.style);
|
||||||
// don't render if display none or feature outside extent
|
// don't render if display none or feature outside extent
|
||||||
var bounds = feature.geometry.getBounds();
|
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) {
|
if (rendered) {
|
||||||
// keep track of what we have rendered for redraw
|
// keep track of what we have rendered for redraw
|
||||||
this.features[feature.id] = [feature, style];
|
this.features[feature.id] = [feature, style];
|
||||||
|
|||||||
Reference in New Issue
Block a user