Merge pull request #4187 from ahocevar/dashy-tileurl

Fix {-y} template calculation for custom (TMS) tile grids
This commit is contained in:
Andreas Hocevar
2015-10-01 08:11:05 +02:00
6 changed files with 58 additions and 25 deletions

View File

@@ -75,7 +75,8 @@ ol.source.TileJSON.prototype.handleTileJSONResponse = function(tileJSON) {
});
this.tileGrid = tileGrid;
this.tileUrlFunction = ol.TileUrlFunction.createFromTemplates(tileJSON.tiles);
this.tileUrlFunction =
ol.TileUrlFunction.createFromTemplates(tileJSON.tiles, tileGrid);
if (tileJSON.attribution !== undefined &&
goog.isNull(this.getAttributions())) {

View File

@@ -136,7 +136,8 @@ ol.source.TileUTFGrid.prototype.handleTileJSONResponse = function(tileJSON) {
return;
}
this.tileUrlFunction_ = ol.TileUrlFunction.createFromTemplates(grids);
this.tileUrlFunction_ =
ol.TileUrlFunction.createFromTemplates(grids, tileGrid);
if (tileJSON.attribution !== undefined) {
var attributionExtent = extent !== undefined ?

View File

@@ -341,7 +341,7 @@ ol.source.TileVector.prototype.setTileUrlFunction = function(tileUrlFunction) {
*/
ol.source.TileVector.prototype.setUrl = function(url) {
this.setTileUrlFunction(ol.TileUrlFunction.createFromTemplates(
ol.TileUrlFunction.expandUrl(url)));
ol.TileUrlFunction.expandUrl(url), this.tileGrid_));
};
@@ -349,5 +349,6 @@ ol.source.TileVector.prototype.setUrl = function(url) {
* @param {Array.<string>} urls URLs.
*/
ol.source.TileVector.prototype.setUrls = function(urls) {
this.setTileUrlFunction(ol.TileUrlFunction.createFromTemplates(urls));
this.setTileUrlFunction(
ol.TileUrlFunction.createFromTemplates(urls, this.tileGrid_));
};

View File

@@ -87,7 +87,7 @@ ol.source.XYZ.prototype.getUrls = function() {
*/
ol.source.XYZ.prototype.setUrl = function(url) {
this.setTileUrlFunction(ol.TileUrlFunction.createFromTemplates(
ol.TileUrlFunction.expandUrl(url)));
ol.TileUrlFunction.expandUrl(url), this.tileGrid));
this.urls_ = [url];
};
@@ -97,6 +97,7 @@ ol.source.XYZ.prototype.setUrl = function(url) {
* @param {Array.<string>} urls URLs.
*/
ol.source.XYZ.prototype.setUrls = function(urls) {
this.setTileUrlFunction(ol.TileUrlFunction.createFromTemplates(urls));
this.setTileUrlFunction(
ol.TileUrlFunction.createFromTemplates(urls, this.tileGrid));
this.urls_ = urls;
};