Add wrapX option to TileJSON source

This commit is contained in:
Éric Lemoine
2014-10-27 17:14:54 +01:00
parent 5ddbe54310
commit 1f54b33961
2 changed files with 18 additions and 2 deletions
+10 -1
View File
@@ -4656,7 +4656,8 @@ olx.source.ServerVectorOptions.prototype.projection;
/** /**
* @typedef {{crossOrigin: (null|string|undefined), * @typedef {{crossOrigin: (null|string|undefined),
* tileLoadFunction: (ol.TileLoadFunctionType|undefined), * tileLoadFunction: (ol.TileLoadFunctionType|undefined),
* url: string}} * url: string,
* wrapX: (boolean|undefined)}}
* @api * @api
*/ */
olx.source.TileJSONOptions; olx.source.TileJSONOptions;
@@ -4686,6 +4687,14 @@ olx.source.TileJSONOptions.prototype.tileLoadFunction;
olx.source.TileJSONOptions.prototype.url; olx.source.TileJSONOptions.prototype.url;
/**
* Whether to wrap the world horizontally. Default is `true`.
* @type {boolean|undefined}
* @api
*/
olx.source.TileJSONOptions.prototype.wrapX;
/** /**
* @typedef {{attributions: (Array.<ol.Attribution>|undefined), * @typedef {{attributions: (Array.<ol.Attribution>|undefined),
* params: Object.<string,*>, * params: Object.<string,*>,
+8 -1
View File
@@ -39,6 +39,12 @@ ol.source.TileJSON = function(options) {
tileLoadFunction: options.tileLoadFunction tileLoadFunction: options.tileLoadFunction
}); });
/**
* @type {boolean|undefined}
* @private
*/
this.wrapX_ = options.wrapX;
var request = new goog.net.Jsonp(options.url); var request = new goog.net.Jsonp(options.url);
request.send(undefined, goog.bind(this.handleTileJSONResponse, this)); request.send(undefined, goog.bind(this.handleTileJSONResponse, this));
@@ -76,7 +82,8 @@ ol.source.TileJSON.prototype.handleTileJSONResponse = function(tileJSON) {
this.tileUrlFunction = ol.TileUrlFunction.withTileCoordTransform( this.tileUrlFunction = ol.TileUrlFunction.withTileCoordTransform(
tileGrid.createTileCoordTransform({ tileGrid.createTileCoordTransform({
extent: extent extent: extent,
wrapX: this.wrapX_
}), }),
ol.TileUrlFunction.createFromTemplates(tileJSON.tiles)); ol.TileUrlFunction.createFromTemplates(tileJSON.tiles));