diff --git a/src/ol/render/canvas/canvasreplay.js b/src/ol/render/canvas/canvasreplay.js index 53b33610d1..1e94d2c537 100644 --- a/src/ol/render/canvas/canvasreplay.js +++ b/src/ol/render/canvas/canvasreplay.js @@ -1300,12 +1300,13 @@ ol.render.canvas.ReplayGroup.prototype.replayHitDetection_ = */ ol.render.canvas.ReplayGroup.prototype.replay_ = 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) { replays = this.replaysByZIndex_[zs[i].toString()]; - for (replayType in replays) { - replay = replays[replayType]; - if (ol.extent.intersects(extent, replay.getExtent())) { + for (j = 0, jj = ol.render.REPLAY_ORDER.length; j < jj; ++j) { + replay = replays[ol.render.REPLAY_ORDER[j]]; + if (goog.isDef(replay) && + ol.extent.intersects(extent, replay.getExtent())) { result = replay.replay( context, transform, renderGeometryFunction); if (result) { diff --git a/src/ol/render/ireplay.js b/src/ol/render/ireplay.js index a30266ece5..d854d44e38 100644 --- a/src/ol/render/ireplay.js +++ b/src/ol/render/ireplay.js @@ -14,6 +14,16 @@ ol.render.ReplayType = { }; +/** + * @const {Array.