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
|
* Class: OpenLayers.Layer.OSM.Mapnik
|
||||||
*
|
*
|
||||||
|
@ -115,9 +44,9 @@ OpenLayers.Layer.OSM.Mapnik = OpenLayers.Class(OpenLayers.Layer.OSM, {
|
||||||
*/
|
*/
|
||||||
initialize: function(name, options) {
|
initialize: function(name, options) {
|
||||||
var url = [
|
var url = [
|
||||||
"http://a.tile.openstreetmap.org/",
|
"http://a.tile.openstreetmap.org/${z}/${x}/${y}.png",
|
||||||
"http://b.tile.openstreetmap.org/",
|
"http://b.tile.openstreetmap.org/${z}/${x}/${y}.png",
|
||||||
"http://c.tile.openstreetmap.org/"
|
"http://c.tile.openstreetmap.org/${z}/${x}/${y}.png"
|
||||||
];
|
];
|
||||||
options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options);
|
options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options);
|
||||||
var newArguments = [name, url, options];
|
var newArguments = [name, url, options];
|
||||||
|
@ -143,9 +72,9 @@ OpenLayers.Layer.OSM.Osmarender = OpenLayers.Class(OpenLayers.Layer.OSM, {
|
||||||
*/
|
*/
|
||||||
initialize: function(name, options) {
|
initialize: function(name, options) {
|
||||||
var url = [
|
var url = [
|
||||||
"http://a.tah.openstreetmap.org/Tiles/tile/",
|
"http://a.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png",
|
||||||
"http://b.tah.openstreetmap.org/Tiles/tile/",
|
"http://b.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png",
|
||||||
"http://c.tah.openstreetmap.org/Tiles/tile/"
|
"http://c.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png"
|
||||||
];
|
];
|
||||||
options = OpenLayers.Util.extend({ numZoomLevels: 18 }, options);
|
options = OpenLayers.Util.extend({ numZoomLevels: 18 }, options);
|
||||||
var newArguments = [name, url, options];
|
var newArguments = [name, url, options];
|
||||||
|
@ -171,9 +100,9 @@ OpenLayers.Layer.OSM.CycleMap = OpenLayers.Class(OpenLayers.Layer.OSM, {
|
||||||
*/
|
*/
|
||||||
initialize: function(name, options) {
|
initialize: function(name, options) {
|
||||||
var url = [
|
var url = [
|
||||||
"http://a.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/",
|
"http://b.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png",
|
||||||
"http://c.andy.sandbox.cloudmade.com/tiles/cycle/"
|
"http://c.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png"
|
||||||
];
|
];
|
||||||
options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options);
|
options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options);
|
||||||
var newArguments = [name, url, options];
|
var newArguments = [name, url, options];
|
||||||
|
@ -199,9 +128,9 @@ OpenLayers.Layer.OSM.Maplint = OpenLayers.Class(OpenLayers.Layer.OSM, {
|
||||||
*/
|
*/
|
||||||
initialize: function(name, options) {
|
initialize: function(name, options) {
|
||||||
var url = [
|
var url = [
|
||||||
"http://d.tah.openstreetmap.org/Tiles/maplint/",
|
"http://d.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png",
|
||||||
"http://e.tah.openstreetmap.org/Tiles/maplint/",
|
"http://e.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png",
|
||||||
"http://f.tah.openstreetmap.org/Tiles/maplint/"
|
"http://f.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png"
|
||||||
];
|
];
|
||||||
options = OpenLayers.Util.extend({ numZoomLevels: 18, isBaseLayer: false, visibility: false }, options);
|
options = OpenLayers.Util.extend({ numZoomLevels: 18, isBaseLayer: false, visibility: false }, options);
|
||||||
var newArguments = [name, url, options];
|
var newArguments = [name, url, options];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue