Make attributions an array of strings rather than a string

This commit is contained in:
Tom Payne
2012-07-28 01:13:38 +02:00
parent b59fe13242
commit 08735e30ff
3 changed files with 28 additions and 18 deletions

View File

@@ -25,21 +25,16 @@ goog.inherits(ol.layer.OpenStreetMap, ol.TileLayer);
* @extends {ol.tilestore.XYZ}
*/
ol.store.OpenStreetMap = function() {
goog.base(this, 18, ol.TileUrlFunction.createFromTemplates([
'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'
]));
]), [
'&copy; <a href="http://www.openstreetmap.org">OpenStreetMap</a> ' +
'contributors, ' +
'<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC BY-SA</a>'
]);
};
goog.inherits(ol.store.OpenStreetMap, ol.tilestore.XYZ);
/**
* @inheritDoc
*/
ol.store.OpenStreetMap.prototype.getAttribution =
function(extent, resolution) {
return '&copy; <a href="http://www.openstreetmap.org">OpenStreetMap</a> ' +
'contributors, ' +
'<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC BY-SA</a>';
};

View File

@@ -50,7 +50,7 @@ goog.inherits(ol.tilegrid.XYZ, ol.TileGrid);
*/
ol.layer.XYZ = function(maxZoom, tileUrlFunction, opt_crossOrigin, opt_values) {
var tileStore = new ol.tilestore.XYZ(
maxZoom, tileUrlFunction, opt_crossOrigin);
maxZoom, tileUrlFunction, undefined, opt_crossOrigin);
goog.base(this, tileStore, opt_values);
};
goog.inherits(ol.layer.XYZ, ol.TileLayer);
@@ -62,11 +62,11 @@ goog.inherits(ol.layer.XYZ, ol.TileLayer);
* @extends {ol.TileStore}
* @param {number} maxZoom Maximum zoom.
* @param {ol.TileUrlFunctionType} tileUrlFunction Tile URL function.
* @param {string=} opt_attribution Attribution.
* @param {Array.<string>=} opt_attributions Attributions.
* @param {string=} opt_crossOrigin Cross origin.
*/
ol.tilestore.XYZ =
function(maxZoom, tileUrlFunction, opt_attribution, opt_crossOrigin) {
function(maxZoom, tileUrlFunction, opt_attributions, opt_crossOrigin) {
var projection = ol.Projection.getFromCode('EPSG:3857');
var tileGrid = new ol.tilegrid.XYZ(maxZoom);
@@ -87,5 +87,20 @@ ol.tilestore.XYZ =
goog.base(
this, projection, tileGrid, tileUrlFunction2, extent, opt_crossOrigin);
/**
* @private
* @type {Array.<string>}
*/
this.attributions_ = goog.isDef(opt_attributions) ? opt_attributions : [];
};
goog.inherits(ol.tilestore.XYZ, ol.TileStore);
/**
* @inheritDoc
*/
ol.tilestore.XYZ.prototype.getAttributions = function(extent, resolution) {
return this.attributions_;
};