OpenLayers.Util.OSM.originalOnImageLoadError = OpenLayers.Util.onImageLoadError;
/**
- * Function: 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;
}
/**
* @requires OpenLayers/Layer/TMS.js
- *
+ *
* Class: OpenLayers.Layer.OSM
- *
+ *
* Inherits from:
* - <OpenLayers.Layer.TMS>
*/
OpenLayers.Layer.OSM = OpenLayers.Class(OpenLayers.Layer.TMS, {
/**
* Constructor: OpenLayers.Layer.OSM
- *
+ *
* Parameters:
* name - {String}
* url - {String}
* options - {Object} Hashtable of extra options to tag onto the layer
*/
initialize: function(name, url, options) {
- options = OpenLayers.Util.extend(options, { attribution: "Data by <a href='http://openstreetmap.org/'>OpenStreetMap</a>" });
- OpenLayers.Layer.TMS.prototype.initialize.apply(this, arguments);
- },
-
+ options = OpenLayers.Util.extend({
+ attribution: "Data by <a href='http://openstreetmap.org/'>OpenStreetMap</a>",
+ maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),
+ maxResolution: 156543.0339,
+ units: "m",
+ projection: "EPSG:900913",
+ transitionEffect: "resize"
+ }, options);
+ var newArguments = [name, url, options];
+ OpenLayers.Layer.TMS.prototype.initialize.apply(this, newArguments);
+ },
+
/**
* Method: getUrl
- *
+ *
* Parameters:
* bounds - {<OpenLayers.Bounds>}
- *
+ *
* Returns:
- * {String} A string with the layer's url and parameters and also the
- * passed-in bounds and appropriate tile size specified as
+ * {String} A string with the layer's url and parameters and also the
+ * passed-in bounds and appropriate tile size specified as
* parameters
*/
getURL: function (bounds) {
/**
* 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
"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);
- },
+ },
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
"http://b.tah.openstreetmap.org/Tiles/tile.php/",
"http://c.tah.openstreetmap.org/Tiles/tile.php/"
];
- 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.Maplint
+ *
+ * Inherits from:
+ * - <OpenLayers.Layer.OSM>
+ */
+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({ 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"
+});
+
+OpenLayers.Layer.Data = OpenLayers.Class(OpenLayers.Layer, {
+ setVisibility: function(vis) {
+ var oldvis = this.visibility;
+ OpenLayers.Layer.prototype.setVisibility.apply(this, arguments);
+ if (!this.map) { return; }
+ if (vis && !oldvis) {
+ new Ajax.Request('/browse/start', {asynchronous:true, evalScripts:true});
+ } else {
+ if (this.stopBrowse) {
+ this.stopBrowse();
+ closeSidebar();
+ }
+ }
+ }
+});