X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/7ee377352e0417ec98cb98981a424a80b09343c7..6d1167356221c518eb8f1f94745bb33908de826a:/public/openlayers/OpenStreetMap.js diff --git a/public/openlayers/OpenStreetMap.js b/public/openlayers/OpenStreetMap.js index e674db0cc..4f2b0d4d7 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; } @@ -44,14 +46,16 @@ OpenLayers.Layer.OSM = OpenLayers.Class(OpenLayers.Layer.TMS, { * options - {Object} Hashtable of extra options to tag onto the layer */ initialize: function(name, url, options) { - options = OpenLayers.Util.extend(options, { - attribution: "Data by OpenStreetMap", - maxExtent: new OpenLayers.Bounds(-20037508,-20037508,20037508,20037508), - maxResolution: 156543, + options = OpenLayers.Util.extend({ + attribution: "Data by OpenStreetMap under CC-BY-SA", + maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34), + maxResolution: 156543.0339, units: "m", - projection: "EPSG:41001" - }); - OpenLayers.Layer.TMS.prototype.initialize.apply(this, arguments); + projection: "EPSG:900913", + transitionEffect: "resize" + }, options); + var newArguments = [name, url, options]; + OpenLayers.Layer.TMS.prototype.initialize.apply(this, newArguments); }, /** @@ -115,7 +119,7 @@ OpenLayers.Layer.OSM.Mapnik = OpenLayers.Class(OpenLayers.Layer.OSM, { "http://b.tile.openstreetmap.org/", "http://c.tile.openstreetmap.org/" ]; - options = OpenLayers.Util.extend(options, { numZoomLevels: 19 }); + options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options); var newArguments = [name, url, options]; OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments); }, @@ -139,14 +143,70 @@ OpenLayers.Layer.OSM.Osmarender = OpenLayers.Class(OpenLayers.Layer.OSM, { */ initialize: function(name, options) { var url = [ - "http://a.tah.openstreetmap.org/Tiles/tile.php/", - "http://b.tah.openstreetmap.org/Tiles/tile.php/", - "http://c.tah.openstreetmap.org/Tiles/tile.php/" + "http://a.tah.openstreetmap.org/Tiles/tile/", + "http://b.tah.openstreetmap.org/Tiles/tile/", + "http://c.tah.openstreetmap.org/Tiles/tile/" ]; - options = OpenLayers.Util.extend(options, { numZoomLevels: 18 }); + options = OpenLayers.Util.extend({ numZoomLevels: 18 }, options); var newArguments = [name, url, options]; OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments); }, CLASS_NAME: "OpenLayers.Layer.OSM.Osmarender" }); + +/** + * Class: OpenLayers.Layer.OSM.CycleMap + * + * Inherits from: + * - + */ +OpenLayers.Layer.OSM.CycleMap = OpenLayers.Class(OpenLayers.Layer.OSM, { + /** + * Constructor: OpenLayers.Layer.OSM.CycleMap + * + * Parameters: + * name - {String} + * options - {Object} Hashtable of extra options to tag onto the layer + */ + initialize: function(name, options) { + var url = [ + "http://a.andy.sandbox.cloudmade.com/tiles/cycle/", + "http://b.andy.sandbox.cloudmade.com/tiles/cycle/", + "http://c.andy.sandbox.cloudmade.com/tiles/cycle/" + ]; + options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options); + var newArguments = [name, url, options]; + OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments); + }, + + CLASS_NAME: "OpenLayers.Layer.OSM.CycleMap" +}); + +/** + * 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/", + "http://e.tah.openstreetmap.org/Tiles/maplint/", + "http://f.tah.openstreetmap.org/Tiles/maplint/" + ]; + options = OpenLayers.Util.extend({ numZoomLevels: 18, isBaseLayer: false, visibility: false }, options); + var newArguments = [name, url, options]; + OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments); + }, + + CLASS_NAME: "OpenLayers.Layer.OSM.Maplint" +});