From: Tom Hughes Date: Mon, 31 Dec 2007 09:06:22 +0000 (+0000) Subject: Add a Maplint layer (OpenLayers.Layer.OSM.Maplint) class. Note that the X-Git-Tag: live~7991 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/9f052345423e22275c36c7f212828b3212296414 Add a Maplint layer (OpenLayers.Layer.OSM.Maplint) class. Note that the t@h server currently serves solid grey tiles for tiles which are not in the database which limits the utility of this. Closes #612. --- diff --git a/public/openlayers/OpenStreetMap.js b/public/openlayers/OpenStreetMap.js index e674db0cc..35e4e3236 100644 --- a/public/openlayers/OpenStreetMap.js +++ b/public/openlayers/OpenStreetMap.js @@ -19,8 +19,10 @@ OpenLayers.Util.OSM.originalOnImageLoadError = OpenLayers.Util.onImageLoadError; * Function: onImageLoadError */ OpenLayers.Util.onImageLoadError = function() { - if (this.src.match(/^http:\/\/[abc]\.[a-z]+\.openstreetmap\.org/)) { + if (this.src.match(/^http:\/\/[abc]\.[a-z]+\.openstreetmap\.org\//)) { this.src = OpenLayers.Util.OSM.MISSING_TILE_URL; + } else if (this.src.match(/^http:\/\/[def]\.tah\.openstreetmap\.org\//)) { + // do nothing - this layer is transparent } else { OpenLayers.Util.OSM.originalOnImageLoadError; } @@ -150,3 +152,31 @@ OpenLayers.Layer.OSM.Osmarender = OpenLayers.Class(OpenLayers.Layer.OSM, { CLASS_NAME: "OpenLayers.Layer.OSM.Osmarender" }); + +/** + * Class: OpenLayers.Layer.OSM.Maplint + * + * Inherits from: + * - + */ +OpenLayers.Layer.OSM.Maplint = OpenLayers.Class(OpenLayers.Layer.OSM, { + /** + * Constructor: OpenLayers.Layer.OSM.Maplint + * + * Parameters: + * name - {String} + * options - {Object} Hashtable of extra options to tag onto the layer + */ + initialize: function(name, options) { + var url = [ + "http://d.tah.openstreetmap.org/Tiles/maplint.php/", + "http://e.tah.openstreetmap.org/Tiles/maplint.php/", + "http://f.tah.openstreetmap.org/Tiles/maplint.php/" + ]; + options = OpenLayers.Util.extend(options, { numZoomLevels: 18, isBaseLayer: false }); + var newArguments = [name, url, options]; + OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments); + }, + + CLASS_NAME: "OpenLayers.Layer.OSM.Maplint" +});