diff --git a/src/ol/Tile.js b/src/ol/Tile.js index 81a0946ff7..584a5cfcf1 100644 --- a/src/ol/Tile.js +++ b/src/ol/Tile.js @@ -24,6 +24,12 @@ ol.Tile = function(url, bounds) { */ this.bounds_ = bounds; + /** + * @private + * @type {boolean} + */ + this.loaded_ = false; + /** * @private * @type {HTMLImageElement} @@ -77,6 +83,7 @@ ol.Tile.prototype.getImg = function() { * @param {goog.events.BrowserEvent} evt Event. */ ol.Tile.prototype.handleImageLoad = function(evt) { + this.loaded_ = true; this.events_.triggerEvent('load'); }; @@ -88,6 +95,14 @@ ol.Tile.prototype.handleImageError = function(evt) { this.events_.triggerEvent('error'); }; +/** + * Is the tile loaded already? + * @return {boolean} + */ +ol.Tile.prototype.isLoaded = function() { + return this.loaded_; +}; + /** * */ diff --git a/test/spec/ol/Tile.test.js b/test/spec/ol/Tile.test.js index 1e7b361557..09da3cf146 100644 --- a/test/spec/ol/Tile.test.js +++ b/test/spec/ol/Tile.test.js @@ -24,6 +24,10 @@ describe("ol.Tile", function() { tile.handleImageLoad(); expect(spy).toHaveBeenCalled(); }); + it("sets the loaded flag", function() { + tile.handleImageLoad(); + expect(tile.isLoaded()).toBeTruthy(); + }); }); describe("handle image error", function() {