From 853ad096bbebdc3d645a2dbacc4c608fceee145a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Sat, 17 Mar 2012 15:18:50 +0100 Subject: [PATCH 1/2] remove the osmarander layer from spherical-mercator.html, as the osmarander tiles (tah.openstreetmap.org) are no longer available --- examples/spherical-mercator.html | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/examples/spherical-mercator.html b/examples/spherical-mercator.html index 409a8e232f..fc1bf681a5 100644 --- a/examples/spherical-mercator.html +++ b/examples/spherical-mercator.html @@ -91,16 +91,11 @@ // create OSM layers var mapnik = new OpenLayers.Layer.OSM(); - var osmarender = new OpenLayers.Layer.OSM( - "OpenStreetMap (Tiles@Home)", - "http://tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png" - ); - // create a vector layer for drawing var vector = new OpenLayers.Layer.Vector("Editable Vectors"); map.addLayers([ - gphy, gmap, gsat, ghyb, veroad, veaer, vehyb, mapnik, osmarender, vector + gphy, gmap, gsat, ghyb, veroad, veaer, vehyb, mapnik, vector ]); map.addControl(new OpenLayers.Control.LayerSwitcher()); map.addControl(new OpenLayers.Control.EditingToolbar(vector)); From 99f116ee987c0356ed310c1eb43c3a59932e9ca2 Mon Sep 17 00:00:00 2001 From: ahocevar Date: Sat, 17 Mar 2012 16:10:10 +0100 Subject: [PATCH 2/2] With tileQueue, we need a different way of handling loadstart/loadend. --- lib/OpenLayers/Layer/Grid.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/OpenLayers/Layer/Grid.js b/lib/OpenLayers/Layer/Grid.js index 4af8ec8423..1e3598bd04 100644 --- a/lib/OpenLayers/Layer/Grid.js +++ b/lib/OpenLayers/Layer/Grid.js @@ -138,6 +138,12 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, { */ tileQueue: null, + /** + * Property: loading + * {Boolean} Indicates if tiles are being loaded. + */ + loading: false, + /** * Property: backBuffer * {DOMElement} The back buffer. @@ -1050,7 +1056,8 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, { tile.onLoadStart = function() { //if that was first tile then trigger a 'loadstart' on the layer - if (this.numLoadingTiles == 0) { + if (this.loading === false) { + this.loading = true; this.events.triggerEvent("loadstart"); } this.events.triggerEvent("tileloadstart", {tile: tile}); @@ -1061,7 +1068,8 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, { this.numLoadingTiles--; this.events.triggerEvent("tileloaded", {tile: tile}); //if that was the last tile, then trigger a 'loadend' on the layer - if (this.numLoadingTiles === 0) { + if (this.tileQueue.length === 0 && this.numLoadingTiles === 0) { + this.loading = false; this.events.triggerEvent("loadend"); if(this.backBuffer) { // the removal of the back buffer is delayed to prevent flash