diff --git a/src/objectliterals.jsdoc b/src/objectliterals.jsdoc index 289dedd51f..f6eea86b90 100644 --- a/src/objectliterals.jsdoc +++ b/src/objectliterals.jsdoc @@ -492,6 +492,14 @@ * @property {string} key Bing Maps API key. Get yours at * http://bingmapsportal.com/. * @property {string} style Style. + * @property {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional + * function to load a tile given a URL. + */ + +/** + * @typedef {Object} ol.source.MapQuestOptions + * @property {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional + * function to load a tile given a URL. */ /** @@ -506,6 +514,8 @@ * @property {ol.Attribution|undefined} attribution Attribution. * @property {Array.|undefined} attributions Attributions. * @property {number|undefined} maxZoom Max zoom. + * @property {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional + * function to load a tile given a URL. * @property {string|undefined} url URL. */ @@ -536,6 +546,8 @@ * @property {number|undefined} minZoom Minimum zoom. * @property {number|undefined} maxZoom Maximum zoom. * @property {boolean|undefined} opaque Whether the layer is opaque. + * @property {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional + * function to load a tile given a URL. * @property {string|undefined} url URL. */ @@ -555,6 +567,8 @@ * @typedef {Object} ol.source.TileJSONOptions * @property {null|string|undefined} crossOrigin crossOriin setting for image * requests. + * @property {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional + * function to load a tile given a URL. * @property {string} url URL. */ @@ -573,6 +587,8 @@ * @property {ol.tilegrid.TileGrid|undefined} tileGrid Tile grid. * @property {number|undefined} maxZoom Maximum zoom. * @property {ol.proj.ProjectionLike} projection Projection. + * @property {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional + * function to load a tile given a URL. * @property {string|undefined} url WMS service URL. * @property {Array.|undefined} urls WMS service urls. Use this instead * of `url` when the WMS supports multiple urls for GetMap requests. @@ -632,6 +648,8 @@ * @property {Object|undefined} dimensions Dimensions. * @property {string|undefined} url URL. * @property {number|undefined} maxZoom Maximum zoom. + * @property {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional + * function to load a tile given a URL. * @property {Array.|undefined} urls Urls. */ diff --git a/src/ol/source/bingmapssource.js b/src/ol/source/bingmapssource.js index 7b75a68b3c..29b3b456ea 100644 --- a/src/ol/source/bingmapssource.js +++ b/src/ol/source/bingmapssource.js @@ -24,7 +24,8 @@ ol.source.BingMaps = function(options) { goog.base(this, { crossOrigin: 'anonymous', opaque: true, - projection: ol.proj.get('EPSG:3857') + projection: ol.proj.get('EPSG:3857'), + tileLoadFunction: options.tileLoadFunction }); /** diff --git a/src/ol/source/mapquestsource.js b/src/ol/source/mapquestsource.js index c7b2bce931..fb5b60f5a0 100644 --- a/src/ol/source/mapquestsource.js +++ b/src/ol/source/mapquestsource.js @@ -10,8 +10,11 @@ goog.require('ol.source.XYZ'); /** * @constructor * @extends {ol.source.XYZ} + * @param {ol.source.MapQuestOptions=} opt_options MapQuest options. */ -ol.source.MapQuestOSM = function() { +ol.source.MapQuestOSM = function(opt_options) { + + var options = goog.isDef(opt_options) ? opt_options : {}; var attributions = [ new ol.Attribution({ @@ -27,6 +30,7 @@ ol.source.MapQuestOSM = function() { logo: 'http://developer.mapquest.com/content/osm/mq_logo.png', opaque: true, maxZoom: 28, + tileLoadFunction: options.tileLoadFunction, url: 'http://otile{1-4}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.jpg' }); @@ -38,8 +42,11 @@ goog.inherits(ol.source.MapQuestOSM, ol.source.XYZ); /** * @constructor * @extends {ol.source.XYZ} + * @param {ol.source.MapQuestOptions=} opt_options MapQuest options. */ -ol.source.MapQuestOpenAerial = function() { +ol.source.MapQuestOpenAerial = function(opt_options) { + + var options = goog.isDef(opt_options) ? opt_options : {}; var attributions = [ new ol.Attribution({ @@ -58,6 +65,7 @@ ol.source.MapQuestOpenAerial = function() { logo: 'http://developer.mapquest.com/content/osm/mq_logo.png', maxZoom: 18, opaque: true, + tileLoadFunction: options.tileLoadFunction, url: 'http://oatile{1-4}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpg' }); diff --git a/src/ol/source/osmsource.js b/src/ol/source/osmsource.js index cab05acca9..808a172555 100644 --- a/src/ol/source/osmsource.js +++ b/src/ol/source/osmsource.js @@ -31,6 +31,7 @@ ol.source.OSM = function(opt_options) { crossOrigin: 'anonymous', opaque: true, maxZoom: options.maxZoom, + tileLoadFunction: options.tileLoadFunction, url: url }); diff --git a/src/ol/source/stamensource.js b/src/ol/source/stamensource.js index 1486aa0d98..27bc6eb90e 100644 --- a/src/ol/source/stamensource.js +++ b/src/ol/source/stamensource.js @@ -103,6 +103,7 @@ ol.source.Stamen = function(options) { // FIXME uncomment the following when tilegrid supports minZoom //minZoom: providerConfig.minZoom, opaque: layerConfig.opaque, + tileLoadFunction: options.tileLoadFunction, url: url }); diff --git a/src/ol/source/tilejsonsource.js b/src/ol/source/tilejsonsource.js index 9d790cb942..879e68d4a5 100644 --- a/src/ol/source/tilejsonsource.js +++ b/src/ol/source/tilejsonsource.js @@ -45,7 +45,8 @@ ol.source.TileJSON = function(options) { goog.base(this, { crossOrigin: options.crossOrigin, - projection: ol.proj.get('EPSG:3857') + projection: ol.proj.get('EPSG:3857'), + tileLoadFunction: options.tileLoadFunction }); /** diff --git a/src/ol/source/tilewmssource.js b/src/ol/source/tilewmssource.js index 91013494fa..3d7ea4b3cb 100644 --- a/src/ol/source/tilewmssource.js +++ b/src/ol/source/tilewmssource.js @@ -98,6 +98,7 @@ ol.source.TileWMS = function(options) { tileGrid: options.tileGrid, opaque: !transparent, projection: options.projection, + tileLoadFunction: options.tileLoadFunction, tileUrlFunction: ol.TileUrlFunction.withTileCoordTransform( tileCoordTransform, tileUrlFunction) }); diff --git a/src/ol/source/wmtssource.js b/src/ol/source/wmtssource.js index 47a64fa2f5..e229d1db9c 100644 --- a/src/ol/source/wmtssource.js +++ b/src/ol/source/wmtssource.js @@ -179,6 +179,7 @@ ol.source.WMTS = function(options) { extent: options.extent, projection: options.projection, tileGrid: tileGrid, + tileLoadFunction: options.tileLoadFunction, tileUrlFunction: tileUrlFunction });