From 0221998120d08fdbb1c263f577dc90ff28f75742 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Sun, 7 Apr 2013 22:51:15 +0200 Subject: [PATCH] Fix OpenStreetMap attributions --- examples/localized-openstreetmap.js | 12 +++---- src/ol/source/mapquestsource.js | 7 ++-- src/ol/source/openstreetmapsource.exports | 2 ++ src/ol/source/openstreetmapsource.js | 43 +++++++++++++++++------ src/ol/source/stamensource.js | 12 ++++--- 5 files changed, 49 insertions(+), 27 deletions(-) diff --git a/examples/localized-openstreetmap.js b/examples/localized-openstreetmap.js index 458f92bc04..ea16d35a53 100644 --- a/examples/localized-openstreetmap.js +++ b/examples/localized-openstreetmap.js @@ -10,12 +10,12 @@ var map = new ol.Map({ layers: [ new ol.layer.TileLayer({ source: new ol.source.OpenStreetMap({ - attribution: new ol.Attribution( - 'All maps © ' + - 'OpenCycleMap, ' + - 'map data © ' + - 'OpenStreetMap ' + - '(ODbL)'), + attributions: [ + new ol.Attribution( + 'All maps © ' + + 'OpenCycleMap'), + ol.source.OpenStreetMap.DATA_ATTRIBUTION + ], url: 'http://{a-c}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png' }) }) diff --git a/src/ol/source/mapquestsource.js b/src/ol/source/mapquestsource.js index 10827beff2..6c4ef2c249 100644 --- a/src/ol/source/mapquestsource.js +++ b/src/ol/source/mapquestsource.js @@ -2,6 +2,7 @@ goog.provide('ol.source.MapQuestOSM'); goog.provide('ol.source.MapQuestOpenAerial'); goog.require('ol.Attribution'); +goog.require('ol.source.OpenStreetMap'); goog.require('ol.source.XYZ'); @@ -16,11 +17,7 @@ ol.source.MapQuestOSM = function() { new ol.Attribution( 'Tiles Courtesy of ' + 'MapQuest'), - new ol.Attribution( - 'Data © ' + - 'OpenStreetMap ' + - 'contributors, ' + - 'CC BY-SA') + ol.source.OpenStreetMap.DATA_ATTRIBUTION ]; goog.base(this, { diff --git a/src/ol/source/openstreetmapsource.exports b/src/ol/source/openstreetmapsource.exports index a2b205a252..e64a17bb31 100644 --- a/src/ol/source/openstreetmapsource.exports +++ b/src/ol/source/openstreetmapsource.exports @@ -1,2 +1,4 @@ @exportSymbol ol.source.OpenStreetMap +@exportProperty ol.source.OpenStreetMap.DATA_ATTRIBUTION +@exportProperty ol.source.OpenStreetMap.TILE_ATTRIBUTION diff --git a/src/ol/source/openstreetmapsource.js b/src/ol/source/openstreetmapsource.js index 5f73770068..6a27b2ce45 100644 --- a/src/ol/source/openstreetmapsource.js +++ b/src/ol/source/openstreetmapsource.js @@ -4,16 +4,6 @@ goog.require('ol.Attribution'); goog.require('ol.source.XYZ'); -/** - * @const - * @type {Array.} - */ -ol.source.OPENSTREETMAP_ATTRIBUTIONS = [new ol.Attribution( - '© OpenStreetMap ' + - 'contributors, ' + - 'CC BY-SA')]; - - /** * @constructor @@ -30,7 +20,7 @@ ol.source.OpenStreetMap = function(opt_options) { } else if (goog.isDef(options.attribution)) { attributions = [options.attribution]; } else { - attributions = ol.source.OPENSTREETMAP_ATTRIBUTIONS; + attributions = ol.source.OpenStreetMap.ATTRIBUTIONS; } var maxZoom = goog.isDef(options.maxZoom) ? options.maxZoom : 18; @@ -48,3 +38,34 @@ ol.source.OpenStreetMap = function(opt_options) { }; goog.inherits(ol.source.OpenStreetMap, ol.source.XYZ); + + +/** + * @const + * @type {ol.Attribution} + */ +ol.source.OpenStreetMap.DATA_ATTRIBUTION = new ol.Attribution( + 'Data © OpenStreetMap ' + + 'contributors, ' + + 'ODbL'); + + +/** + * @const + * @type {ol.Attribution} + */ +ol.source.OpenStreetMap.TILE_ATTRIBUTION = new ol.Attribution( + 'Tiles © ' + + 'OpenStreetMap ' + + 'contributors, ' + + 'CC BY-SA'); + + +/** + * @const + * @type {Array.} + */ +ol.source.OpenStreetMap.ATTRIBUTIONS = [ + ol.source.OpenStreetMap.TILE_ATTRIBUTION, + ol.source.OpenStreetMap.DATA_ATTRIBUTION +]; diff --git a/src/ol/source/stamensource.js b/src/ol/source/stamensource.js index 3f5d33de4c..030779cd05 100644 --- a/src/ol/source/stamensource.js +++ b/src/ol/source/stamensource.js @@ -2,6 +2,7 @@ goog.provide('ol.source.Stamen'); goog.require('goog.asserts'); goog.require('ol.Attribution'); +goog.require('ol.source.OpenStreetMap'); goog.require('ol.source.XYZ'); @@ -78,11 +79,12 @@ ol.source.StamenProviderConfig = { /** * @const {Array.} */ -ol.source.STAMEN_ATTRIBUTIONS = [new ol.Attribution( - 'Map tiles by Stamen Design, under ' + - 'CC BY 3.0. ' + - 'Data by OpenStreetMap, under ' + - 'CC BY SA.')]; +ol.source.STAMEN_ATTRIBUTIONS = [ + new ol.Attribution( + 'Map tiles by Stamen Design, under ' + + 'CC BY 3.0.'), + ol.source.OpenStreetMap.DATA_ATTRIBUTION +];