Switch to using the new XYZ layer class on OL 2.8.
This commit is contained in:
parent
ee7c6cf42f
commit
7bb0a73aea
1 changed files with 12 additions and 83 deletions
|
@ -28,77 +28,6 @@ OpenLayers.Util.onImageLoadError = function() {
|
|||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @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({
|
||||
attribution: "Data by <a href='http://openstreetmap.org/'>OpenStreetMap</a> under <a href='http://creativecommons.org/licenses/by-sa/2.0/'>CC-BY-SA</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
|
||||
* parameters
|
||||
*/
|
||||
getURL: function (bounds) {
|
||||
var res = this.map.getResolution();
|
||||
var x = Math.round((bounds.left - this.maxExtent.left) / (res * this.tileSize.w));
|
||||
var y = Math.round((this.maxExtent.top - bounds.top) / (res * this.tileSize.h));
|
||||
var z = this.map.getZoom();
|
||||
var limit = Math.pow(2, z);
|
||||
|
||||
if (y < 0 || y >= limit)
|
||||
{
|
||||
return OpenLayers.Util.OSM.MISSING_TILE_URL;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = ((x % limit) + limit) % limit;
|
||||
|
||||
var url = this.url;
|
||||
var path = z + "/" + x + "/" + y + ".png";
|
||||
|
||||
if (url instanceof Array)
|
||||
{
|
||||
url = this.selectUrl(path, url);
|
||||
}
|
||||
|
||||
return url + path;
|
||||
}
|
||||
},
|
||||
|
||||
CLASS_NAME: "OpenLayers.Layer.OSM"
|
||||
});
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.Layer.OSM.Mapnik
|
||||
*
|
||||
|
@ -115,9 +44,9 @@ OpenLayers.Layer.OSM.Mapnik = OpenLayers.Class(OpenLayers.Layer.OSM, {
|
|||
*/
|
||||
initialize: function(name, options) {
|
||||
var url = [
|
||||
"http://a.tile.openstreetmap.org/",
|
||||
"http://b.tile.openstreetmap.org/",
|
||||
"http://c.tile.openstreetmap.org/"
|
||||
"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 }, options);
|
||||
var newArguments = [name, url, options];
|
||||
|
@ -143,9 +72,9 @@ OpenLayers.Layer.OSM.Osmarender = OpenLayers.Class(OpenLayers.Layer.OSM, {
|
|||
*/
|
||||
initialize: function(name, options) {
|
||||
var url = [
|
||||
"http://a.tah.openstreetmap.org/Tiles/tile/",
|
||||
"http://b.tah.openstreetmap.org/Tiles/tile/",
|
||||
"http://c.tah.openstreetmap.org/Tiles/tile/"
|
||||
"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 }, options);
|
||||
var newArguments = [name, url, options];
|
||||
|
@ -171,9 +100,9 @@ OpenLayers.Layer.OSM.CycleMap = OpenLayers.Class(OpenLayers.Layer.OSM, {
|
|||
*/
|
||||
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/"
|
||||
"http://a.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png",
|
||||
"http://b.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png",
|
||||
"http://c.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png"
|
||||
];
|
||||
options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options);
|
||||
var newArguments = [name, url, options];
|
||||
|
@ -199,9 +128,9 @@ OpenLayers.Layer.OSM.Maplint = OpenLayers.Class(OpenLayers.Layer.OSM, {
|
|||
*/
|
||||
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/"
|
||||
"http://d.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png",
|
||||
"http://e.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png",
|
||||
"http://f.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png"
|
||||
];
|
||||
options = OpenLayers.Util.extend({ numZoomLevels: 18, isBaseLayer: false, visibility: false }, options);
|
||||
var newArguments = [name, url, options];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue