Merge pull request #1967 from fredj/tileUrlFunction-this

Don't use 'this' keyword in tileUrlFunction
This commit is contained in:
Frédéric Junod
2014-04-09 10:21:06 +02:00
2 changed files with 23 additions and 15 deletions

View File

@@ -1,3 +1,4 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View2D');
goog.require('ol.extent');
@@ -8,17 +9,23 @@ goog.require('ol.source.WMTS');
goog.require('ol.tilegrid.WMTS');
var projection = ol.proj.get('EPSG:900913');
var projection = ol.proj.get('EPSG:3857');
var projectionExtent = projection.getExtent();
var size = ol.extent.getWidth(projectionExtent) / 256;
var resolutions = new Array(18);
var matrixIds = new Array(18);
for (var z = 0; z < 18; ++z) {
var resolutions = new Array(14);
var matrixIds = new Array(14);
for (var z = 0; z < 14; ++z) {
// generate resolutions and matrixIds arrays for this WMTS
resolutions[z] = size / Math.pow(2, z);
matrixIds[z] = z;
}
var attribution = new ol.Attribution({
html: 'Tiles &copy; <a href="http://services.arcgisonline.com/arcgis/rest/' +
'services/Demographics/USA_Population_Density/MapServer/">ArcGIS</a>'
});
var map = new ol.Map({
layers: [
new ol.layer.Tile({
@@ -28,25 +35,26 @@ var map = new ol.Map({
new ol.layer.Tile({
opacity: 0.7,
source: new ol.source.WMTS({
url: 'http://demo-apollo.geospatial.intergraph.com/erdas-iws/ogc/wmts/',
layer: 'sampleiws_images_geodetic_worldgeodemo.ecw',
matrixSet: 'ogc:1.0:googlemapscompatible',
format: 'image/jpeg',
attributions: [attribution],
url: 'http://services.arcgisonline.com/arcgis/rest/' +
'services/Demographics/USA_Population_Density/MapServer/WMTS/',
layer: '0',
matrixSet: 'EPSG:3857',
format: 'image/png',
projection: projection,
tileGrid: new ol.tilegrid.WMTS({
origin: ol.extent.getTopLeft(projectionExtent),
resolutions: resolutions,
matrixIds: matrixIds
}),
extent: [-20037508.34, -20037508.34, 20037508.34, 20037508.34],
extent: projectionExtent,
style: 'default'
})
})
],
target: 'map',
view: new ol.View2D({
center: [0, 0],
zoom: 0,
maxResolution: resolutions[1]
center: [-11158582, 4813697],
zoom: 4
})
});

View File

@@ -76,6 +76,8 @@ ol.source.WMTS = function(options) {
});
}
var dimensions = this.dimensions_;
/**
* @param {string} template Template.
* @return {ol.TileUrlFunctionType} Tile URL function.
@@ -94,7 +96,6 @@ ol.source.WMTS = function(options) {
return (
/**
* @this {ol.source.WMTS}
* @param {ol.TileCoord} tileCoord Tile coordinate.
* @param {number} pixelRatio Pixel ratio.
* @param {ol.proj.Projection} projection Projection.
@@ -109,7 +110,7 @@ ol.source.WMTS = function(options) {
'TileCol': tileCoord.x,
'TileRow': tileCoord.y
};
goog.object.extend(localContext, this.dimensions_);
goog.object.extend(localContext, dimensions);
var url = template;
if (requestEncoding == ol.source.WMTSRequestEncoding.KVP) {
url = goog.uri.utils.appendParamsFromMap(url, localContext);
@@ -143,7 +144,6 @@ ol.source.WMTS = function(options) {
* @return {ol.TileCoord} Tile coordinate.
*/
function(tileCoord, projection, opt_tileCoord) {
var tileGrid = this.getTileGrid();
goog.asserts.assert(!goog.isNull(tileGrid));
if (tileGrid.getResolutions().length <= tileCoord.z) {
return null;