Use forEachFeatureInExtentAtResolution in ol.renderer.canvas.VectorLayer

This commit is contained in:
Tom Payne
2014-03-06 15:01:27 +01:00
parent 3a8504b799
commit ed586bad39

View File

@@ -222,11 +222,20 @@ ol.renderer.canvas.VectorLayer.prototype.prepareFrame =
this.dirty_ = this.dirty_ || dirty;
};
if (!goog.isNull(vectorLayerRenderOrder)) {
var features = vectorSource.getFeaturesInExtent(extent);
/** @type {Array.<ol.Feature>} */
var features = [];
vectorSource.forEachFeatureInExtentAtResolution(extent, resolution,
/**
* @param {ol.Feature} feature Feature.
*/
function(feature) {
features.push(feature);
}, this);
goog.array.sort(features, vectorLayerRenderOrder);
goog.array.forEach(features, renderFeature, this);
} else {
vectorSource.forEachFeatureInExtent(extent, renderFeature, this);
vectorSource.forEachFeatureInExtentAtResolution(
extent, resolution, renderFeature, this);
}
replayGroup.finish();