From 300b5cad44d73809607392b5bb4fb2f9276f2266 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Sun, 27 Dec 2015 17:59:10 +0100 Subject: [PATCH] Use consistent tile coordinate keys Tile coordinate keys from ol.tilecoord.toString() are different than the ones from Array.prototype.toString(). Both were used, potentially causing problems. This change makes them consistent and removes the now unnecessary ol.tileCoord.toString() function. --- src/ol/map.js | 3 +-- src/ol/renderer/canvas/canvastilelayerrenderer.js | 3 +-- src/ol/renderer/canvas/canvasvectortilelayerrenderer.js | 3 +-- src/ol/renderer/dom/domtilelayerrenderer.js | 7 +++---- src/ol/renderer/layerrenderer.js | 3 +-- src/ol/renderer/webgl/webgltilelayerrenderer.js | 3 +-- src/ol/source/tiledebugsource.js | 5 ++--- src/ol/tilecoord.js | 9 --------- 8 files changed, 10 insertions(+), 26 deletions(-) diff --git a/src/ol/map.js b/src/ol/map.js index 5168a36fac..5b5047c45d 100644 --- a/src/ol/map.js +++ b/src/ol/map.js @@ -59,7 +59,6 @@ goog.require('ol.renderer.dom.Map'); goog.require('ol.renderer.webgl.Map'); goog.require('ol.size'); goog.require('ol.structs.PriorityQueue'); -goog.require('ol.tilecoord'); goog.require('ol.vec.Mat4'); @@ -937,7 +936,7 @@ ol.Map.prototype.getTilePriority = if (!frameState || !(tileSourceKey in frameState.wantedTiles)) { return ol.structs.PriorityQueue.DROP; } - var coordKey = ol.tilecoord.toString(tile.tileCoord); + var coordKey = tile.tileCoord.toString(); if (!frameState.wantedTiles[tileSourceKey][coordKey]) { return ol.structs.PriorityQueue.DROP; } diff --git a/src/ol/renderer/canvas/canvastilelayerrenderer.js b/src/ol/renderer/canvas/canvastilelayerrenderer.js index af355159ad..9eea07979c 100644 --- a/src/ol/renderer/canvas/canvastilelayerrenderer.js +++ b/src/ol/renderer/canvas/canvastilelayerrenderer.js @@ -14,7 +14,6 @@ goog.require('ol.extent'); goog.require('ol.layer.Tile'); goog.require('ol.renderer.canvas.Layer'); goog.require('ol.size'); -goog.require('ol.tilecoord'); goog.require('ol.vec.Mat4'); @@ -336,7 +335,7 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = } goog.asserts.assert(tile); if (drawableTile(tile)) { - tilesToDrawByZ[z][ol.tilecoord.toString(tile.tileCoord)] = tile; + tilesToDrawByZ[z][tile.tileCoord.toString()] = tile; continue; } fullyLoaded = tileGrid.forEachTileCoordParentTileRange( diff --git a/src/ol/renderer/canvas/canvasvectortilelayerrenderer.js b/src/ol/renderer/canvas/canvasvectortilelayerrenderer.js index 3f53c28aa5..4a2573ae4d 100644 --- a/src/ol/renderer/canvas/canvasvectortilelayerrenderer.js +++ b/src/ol/renderer/canvas/canvasvectortilelayerrenderer.js @@ -20,7 +20,6 @@ goog.require('ol.renderer.canvas.Layer'); goog.require('ol.renderer.vector'); goog.require('ol.size'); goog.require('ol.source.VectorTile'); -goog.require('ol.tilecoord'); goog.require('ol.vec.Mat4'); @@ -437,7 +436,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.prepareFrame = if (tileState == ol.TileState.LOADED || tileState == ol.TileState.EMPTY || (tileState == ol.TileState.ERROR && !useInterimTilesOnError)) { - tilesToDrawByZ[z][ol.tilecoord.toString(tile.tileCoord)] = tile; + tilesToDrawByZ[z][tile.tileCoord.toString()] = tile; continue; } diff --git a/src/ol/renderer/dom/domtilelayerrenderer.js b/src/ol/renderer/dom/domtilelayerrenderer.js index e26469bd85..1ed26c5bab 100644 --- a/src/ol/renderer/dom/domtilelayerrenderer.js +++ b/src/ol/renderer/dom/domtilelayerrenderer.js @@ -19,7 +19,6 @@ goog.require('ol.extent'); goog.require('ol.layer.Tile'); goog.require('ol.renderer.dom.Layer'); goog.require('ol.size'); -goog.require('ol.tilecoord'); goog.require('ol.tilegrid.TileGrid'); goog.require('ol.vec.Mat4'); @@ -142,7 +141,7 @@ ol.renderer.dom.TileLayer.prototype.prepareFrame = goog.asserts.assert(tile); tileState = tile.getState(); if (tileState == ol.TileState.LOADED) { - tilesToDrawByZ[z][ol.tilecoord.toString(tile.tileCoord)] = tile; + tilesToDrawByZ[z][tile.tileCoord.toString()] = tile; continue; } else if (tileState == ol.TileState.EMPTY || (tileState == ol.TileState.ERROR && @@ -345,7 +344,7 @@ ol.renderer.dom.TileLayerZ_.prototype.addTile = function(tile, tileGutter) { var tileCoordY = tileCoord[2]; goog.asserts.assert(tileCoordZ == this.tileCoordOrigin_[0], 'tileCoordZ matches z of tileCoordOrigin'); - var tileCoordKey = ol.tilecoord.toString(tileCoord); + var tileCoordKey = tileCoord.toString(); if (tileCoordKey in this.tiles_) { return; } @@ -437,7 +436,7 @@ ol.renderer.dom.TileLayerZ_.prototype.removeTilesOutsideExtent = var i, ii; for (i = 0, ii = tilesToRemove.length; i < ii; ++i) { tile = tilesToRemove[i]; - tileCoordKey = ol.tilecoord.toString(tile.tileCoord); + tileCoordKey = tile.tileCoord.toString(); goog.dom.removeNode(tile.getImage(this)); delete this.tiles_[tileCoordKey]; } diff --git a/src/ol/renderer/layerrenderer.js b/src/ol/renderer/layerrenderer.js index 7ab15e54a2..6518480db4 100644 --- a/src/ol/renderer/layerrenderer.js +++ b/src/ol/renderer/layerrenderer.js @@ -13,7 +13,6 @@ goog.require('ol.layer.Layer'); goog.require('ol.source.Source'); goog.require('ol.source.State'); goog.require('ol.source.Tile'); -goog.require('ol.tilecoord'); goog.require('ol.vec.Mat4'); @@ -319,7 +318,7 @@ ol.renderer.Layer.prototype.manageTilePyramid = function( if (currentZ - z <= preload) { tile = tileSource.getTile(z, x, y, pixelRatio, projection); if (tile.getState() == ol.TileState.IDLE) { - wantedTiles[ol.tilecoord.toString(tile.tileCoord)] = true; + wantedTiles[tile.tileCoord.toString()] = true; if (!tileQueue.isKeyQueued(tile.getKey())) { tileQueue.enqueue([tile, tileSourceKey, tileGrid.getTileCoordCenter(tile.tileCoord), tileResolution]); diff --git a/src/ol/renderer/webgl/webgltilelayerrenderer.js b/src/ol/renderer/webgl/webgltilelayerrenderer.js index d6a6484dfe..0eb9a11b48 100644 --- a/src/ol/renderer/webgl/webgltilelayerrenderer.js +++ b/src/ol/renderer/webgl/webgltilelayerrenderer.js @@ -18,7 +18,6 @@ goog.require('ol.renderer.webgl.tilelayer.shader.Fragment'); goog.require('ol.renderer.webgl.tilelayer.shader.Locations'); goog.require('ol.renderer.webgl.tilelayer.shader.Vertex'); goog.require('ol.size'); -goog.require('ol.tilecoord'); goog.require('ol.vec.Mat4'); goog.require('ol.webgl.Buffer'); @@ -271,7 +270,7 @@ ol.renderer.webgl.TileLayer.prototype.prepareFrame = tileState = tile.getState(); if (tileState == ol.TileState.LOADED) { if (mapRenderer.isTileTextureLoaded(tile)) { - tilesToDrawByZ[z][ol.tilecoord.toString(tile.tileCoord)] = tile; + tilesToDrawByZ[z][tile.tileCoord.toString()] = tile; continue; } } else if (tileState == ol.TileState.EMPTY || diff --git a/src/ol/source/tiledebugsource.js b/src/ol/source/tiledebugsource.js index 32a0fad16d..336c832693 100644 --- a/src/ol/source/tiledebugsource.js +++ b/src/ol/source/tiledebugsource.js @@ -6,7 +6,6 @@ goog.require('ol.TileState'); goog.require('ol.dom'); goog.require('ol.size'); goog.require('ol.source.Tile'); -goog.require('ol.tilecoord'); @@ -113,8 +112,8 @@ ol.source.TileDebug.prototype.getTile = function(z, x, y) { var tileSize = ol.size.toSize(this.tileGrid.getTileSize(z)); var tileCoord = [z, x, y]; var textTileCoord = this.getTileCoordForTileUrlFunction(tileCoord); - var text = !textTileCoord ? '' : ol.tilecoord.toString( - this.getTileCoordForTileUrlFunction(textTileCoord)); + var text = !textTileCoord ? '' : + this.getTileCoordForTileUrlFunction(textTileCoord).toString(); var tile = new ol.DebugTile_(tileCoord, tileSize, text); this.tileCache.set(tileCoordKey, tile); return tile; diff --git a/src/ol/tilecoord.js b/src/ol/tilecoord.js index 52a216fa32..a463a95b7a 100644 --- a/src/ol/tilecoord.js +++ b/src/ol/tilecoord.js @@ -103,15 +103,6 @@ ol.tilecoord.quadKey = function(tileCoord) { }; -/** - * @param {ol.TileCoord} tileCoord Tile coord. - * @return {string} String. - */ -ol.tilecoord.toString = function(tileCoord) { - return ol.tilecoord.getKeyZXY(tileCoord[0], tileCoord[1], tileCoord[2]); -}; - - /** * @param {ol.TileCoord} tileCoord Tile coordinate. * @param {ol.tilegrid.TileGrid} tileGrid Tile grid.