123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- /* vim: set expandtab sw=4 ts=4 sts=4: */
- /**
- * Namespace: Util.OSM
- */
- OpenLayers.Util.OSM = {};
- /**
- * Constant: MISSING_TILE_URL
- * {String} URL of image to display for missing tiles
- */
- OpenLayers.Util.OSM.MISSING_TILE_URL = "http://www.openstreetmap.org/openlayers/img/404.png";
- /**
- * Property: originalOnImageLoadError
- * {Function} Original onImageLoadError function.
- */
- OpenLayers.Util.OSM.originalOnImageLoadError = OpenLayers.Util.onImageLoadError;
- /**
- * Function: onImageLoadError
- */
- OpenLayers.Util.onImageLoadError = function() {
- 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;
- }
- };
- /**
- * Class: OpenLayers.Layer.OSM.Mapnik
- *
- * Inherits from:
- * - <OpenLayers.Layer.OSM>
- */
- OpenLayers.Layer.OSM.Mapnik = OpenLayers.Class(OpenLayers.Layer.OSM, {
- /**
- * Constructor: OpenLayers.Layer.OSM.Mapnik
- *
- * Parameters:
- * name - {String}
- * options - {Object} Hashtable of extra options to tag onto the layer
- */
- initialize: function(name, options) {
- var url = [
- "http://a.tile.openstreetmap.org/${z}/${x}/${y}.png",
- "http://b.tile.openstreetmap.org/${z}/${x}/${y}.png",
- "http://c.tile.openstreetmap.org/${z}/${x}/${y}.png"
- ];
- options = OpenLayers.Util.extend({
- numZoomLevels: 19,
- buffer: 0,
- transitionEffect: "resize"
- }, options);
- var newArguments = [name, url, options];
- OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
- },
- CLASS_NAME: "OpenLayers.Layer.OSM.Mapnik"
- });
- /**
- * Class: OpenLayers.Layer.OSM.Osmarender
- *
- * Inherits from:
- * - <OpenLayers.Layer.OSM>
- */
- OpenLayers.Layer.OSM.Osmarender = OpenLayers.Class(OpenLayers.Layer.OSM, {
- /**
- * Constructor: OpenLayers.Layer.OSM.Osmarender
- *
- * Parameters:
- * name - {String}
- * options - {Object} Hashtable of extra options to tag onto the layer
- */
- initialize: function(name, options) {
- var url = [
- "http://a.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png",
- "http://b.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png",
- "http://c.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png"
- ];
- options = OpenLayers.Util.extend({
- numZoomLevels: 18,
- buffer: 0,
- transitionEffect: "resize"
- }, 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>
- */
- 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.tile.opencyclemap.org/cycle/${z}/${x}/${y}.png",
- "http://b.tile.opencyclemap.org/cycle/${z}/${x}/${y}.png",
- "http://c.tile.opencyclemap.org/cycle/${z}/${x}/${y}.png"
- ];
- options = OpenLayers.Util.extend({
- numZoomLevels: 19,
- buffer: 0,
- transitionEffect: "resize"
- }, options);
- var newArguments = [name, url, options];
- OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
- },
- CLASS_NAME: "OpenLayers.Layer.OSM.CycleMap"
- });
|