Merge pull request #1479 from twpayne/vector-api-draw-order

[vector-api] Draw vector features in the order polygons, lines, images
This commit is contained in:
Tom Payne
2014-01-07 05:29:24 -08:00
2 changed files with 15 additions and 4 deletions
+5 -4
View File
@@ -1300,12 +1300,13 @@ ol.render.canvas.ReplayGroup.prototype.replayHitDetection_ =
*/ */
ol.render.canvas.ReplayGroup.prototype.replay_ = ol.render.canvas.ReplayGroup.prototype.replay_ =
function(zs, context, extent, transform, renderGeometryFunction) { function(zs, context, extent, transform, renderGeometryFunction) {
var i, ii, replays, replayType, replay, result; var i, ii, j, jj, replays, replayType, replay, result;
for (i = 0, ii = zs.length; i < ii; ++i) { for (i = 0, ii = zs.length; i < ii; ++i) {
replays = this.replaysByZIndex_[zs[i].toString()]; replays = this.replaysByZIndex_[zs[i].toString()];
for (replayType in replays) { for (j = 0, jj = ol.render.REPLAY_ORDER.length; j < jj; ++j) {
replay = replays[replayType]; replay = replays[ol.render.REPLAY_ORDER[j]];
if (ol.extent.intersects(extent, replay.getExtent())) { if (goog.isDef(replay) &&
ol.extent.intersects(extent, replay.getExtent())) {
result = replay.replay( result = replay.replay(
context, transform, renderGeometryFunction); context, transform, renderGeometryFunction);
if (result) { if (result) {
+10
View File
@@ -14,6 +14,16 @@ ol.render.ReplayType = {
}; };
/**
* @const {Array.<ol.render.ReplayType>}
*/
ol.render.REPLAY_ORDER = [
ol.render.ReplayType.POLYGON,
ol.render.ReplayType.LINE_STRING,
ol.render.ReplayType.IMAGE
];
/** /**
* @interface * @interface