]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/openlayers.js.erb
Fix loading of blank tiles on some browsers to use the asset pipeline
[rails.git] / app / assets / javascripts / openlayers.js.erb
index 6a027d59be6d1684449b4761fa6fc111b1132577..f4964b8fb01b19b0fe50604de657adcd69030dc7 100644 (file)
@@ -28,6 +28,16 @@ OpenLayers.Util.imageURLs = {
     "img/zoom-world-mini.png": "<%= asset_path 'img/zoom-world-mini.png' %>"
 };
 
+OpenLayers.Util.origCreateDiv = OpenLayers.Util.createDiv;
+
+OpenLayers.Util.createDiv = function(id, px, sz, imgURL, position, 
+                                     border, overflow, opacity) {
+    imgURL = OpenLayers.Util.imageURLs[imgURL] || imgURL;
+
+    return OpenLayers.Util.origCreateDiv(id, px, sz, imgURL, position, 
+                                         border, overflow, opacity);
+};
+
 OpenLayers.Util.origCreateImage = OpenLayers.Util.createImage;
 
 OpenLayers.Util.createImage = function(id, px, sz, imgURL, position, border,
@@ -37,3 +47,24 @@ OpenLayers.Util.createImage = function(id, px, sz, imgURL, position, border,
     return OpenLayers.Util.origCreateImage(id, px, sz, imgURL, position,
                                            border, opacity, delayDisplay);
 };
+
+OpenLayers.Util.origModifyAlphaImageDiv = OpenLayers.Util.modifyAlphaImageDiv;
+
+OpenLayers.Util.modifyAlphaImageDiv = function(div, id, px, sz, imgURL, 
+                                               position, border, sizing, 
+                                               opacity) {
+    imgURL = OpenLayers.Util.imageURLs[imgURL] || imgURL;
+
+    return OpenLayers.Util.origModifyAlphaImageDiv(div, id, px, sz, imgURL, 
+                                                   position, border, sizing, 
+                                                   opacity);
+};
+
+OpenLayers.Tile.Image.clear = function() {
+    if (this.imgDiv) {
+        this.hide();
+        if (OpenLayers.Tile.Image.useBlankTile) { 
+            this.imgDiv.src = "<%= asset_path 'img/blank.gif' %>";
+        }    
+    }
+};