Change ol.TileCoord to an Array
This commit is contained in:
@@ -8,7 +8,6 @@ goog.require('goog.asserts');
|
||||
goog.require('goog.object');
|
||||
goog.require('goog.vec.Mat4');
|
||||
goog.require('ol.Size');
|
||||
goog.require('ol.TileCoord');
|
||||
goog.require('ol.TileRange');
|
||||
goog.require('ol.TileState');
|
||||
goog.require('ol.dom');
|
||||
@@ -17,6 +16,7 @@ goog.require('ol.layer.Tile');
|
||||
goog.require('ol.renderer.Map');
|
||||
goog.require('ol.renderer.canvas.Layer');
|
||||
goog.require('ol.source.Tile');
|
||||
goog.require('ol.tilecoord');
|
||||
goog.require('ol.vec.Mat4');
|
||||
|
||||
|
||||
@@ -299,7 +299,7 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame =
|
||||
if (tileState == ol.TileState.LOADED ||
|
||||
tileState == ol.TileState.EMPTY ||
|
||||
(tileState == ol.TileState.ERROR && !useInterimTilesOnError)) {
|
||||
tilesToDrawByZ[z][tile.tileCoord.toString()] = tile;
|
||||
tilesToDrawByZ[z][ol.tilecoord.toString(tile.tileCoord)] = tile;
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -322,8 +322,8 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame =
|
||||
var i, ii;
|
||||
for (i = 0, ii = tilesToClear.length; i < ii; ++i) {
|
||||
tile = tilesToClear[i];
|
||||
x = tilePixelSize * (tile.tileCoord.x - canvasTileRange.minX);
|
||||
y = tilePixelSize * (canvasTileRange.maxY - tile.tileCoord.y);
|
||||
x = tilePixelSize * (tile.tileCoord[1] - canvasTileRange.minX);
|
||||
y = tilePixelSize * (canvasTileRange.maxY - tile.tileCoord[2]);
|
||||
context.clearRect(x, y, tilePixelSize, tilePixelSize);
|
||||
}
|
||||
|
||||
@@ -332,7 +332,7 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame =
|
||||
goog.array.sort(zs);
|
||||
var opaque = tileSource.getOpaque();
|
||||
var origin = ol.extent.getTopLeft(tileGrid.getTileCoordExtent(
|
||||
new ol.TileCoord(z, canvasTileRange.minX, canvasTileRange.maxY),
|
||||
[z, canvasTileRange.minX, canvasTileRange.maxY],
|
||||
tmpExtent));
|
||||
var currentZ, index, scale, tileCoordKey, tileExtent, tilesToDraw;
|
||||
var ix, iy, interimTileExtent, interimTileRange, maxX, maxY;
|
||||
@@ -346,11 +346,11 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame =
|
||||
for (tileCoordKey in tilesToDraw) {
|
||||
tile = tilesToDraw[tileCoordKey];
|
||||
index =
|
||||
(tile.tileCoord.y - canvasTileRange.minY) * canvasTileRangeWidth +
|
||||
(tile.tileCoord.x - canvasTileRange.minX);
|
||||
(tile.tileCoord[2] - canvasTileRange.minY) * canvasTileRangeWidth +
|
||||
(tile.tileCoord[1] - canvasTileRange.minX);
|
||||
if (this.renderedTiles_[index] != tile) {
|
||||
x = tilePixelSize * (tile.tileCoord.x - canvasTileRange.minX);
|
||||
y = tilePixelSize * (canvasTileRange.maxY - tile.tileCoord.y);
|
||||
x = tilePixelSize * (tile.tileCoord[1] - canvasTileRange.minX);
|
||||
y = tilePixelSize * (canvasTileRange.maxY - tile.tileCoord[2]);
|
||||
tileState = tile.getState();
|
||||
if (tileState == ol.TileState.EMPTY ||
|
||||
(tileState == ol.TileState.ERROR && !useInterimTilesOnError) ||
|
||||
|
||||
@@ -22,6 +22,7 @@ goog.require('ol.extent');
|
||||
goog.require('ol.layer.Tile');
|
||||
goog.require('ol.renderer.dom.Layer');
|
||||
goog.require('ol.source.Tile');
|
||||
goog.require('ol.tilecoord');
|
||||
goog.require('ol.tilegrid.TileGrid');
|
||||
goog.require('ol.vec.Mat4');
|
||||
|
||||
@@ -141,7 +142,7 @@ ol.renderer.dom.TileLayer.prototype.prepareFrame =
|
||||
tile = tileSource.getTile(z, x, y, pixelRatio, projection);
|
||||
tileState = tile.getState();
|
||||
if (tileState == ol.TileState.LOADED) {
|
||||
tilesToDrawByZ[z][tile.tileCoord.toString()] = tile;
|
||||
tilesToDrawByZ[z][ol.tilecoord.toString(tile.tileCoord)] = tile;
|
||||
continue;
|
||||
} else if (tileState == ol.TileState.EMPTY ||
|
||||
(tileState == ol.TileState.ERROR &&
|
||||
@@ -320,7 +321,7 @@ ol.renderer.dom.TileLayerZ_ = function(tileGrid, tileCoordOrigin) {
|
||||
* @private
|
||||
* @type {number}
|
||||
*/
|
||||
this.resolution_ = tileGrid.getResolution(tileCoordOrigin.z);
|
||||
this.resolution_ = tileGrid.getResolution(tileCoordOrigin[0]);
|
||||
|
||||
/**
|
||||
* @private
|
||||
@@ -349,12 +350,15 @@ ol.renderer.dom.TileLayerZ_ = function(tileGrid, tileCoordOrigin) {
|
||||
*/
|
||||
ol.renderer.dom.TileLayerZ_.prototype.addTile = function(tile, tileGutter) {
|
||||
var tileCoord = tile.tileCoord;
|
||||
goog.asserts.assert(tileCoord.z == this.tileCoordOrigin_.z);
|
||||
var tileCoordKey = tileCoord.toString();
|
||||
var tileCoordZ = tileCoord[0];
|
||||
var tileCoordX = tileCoord[1];
|
||||
var tileCoordY = tileCoord[2];
|
||||
goog.asserts.assert(tileCoordZ == this.tileCoordOrigin_[0]);
|
||||
var tileCoordKey = ol.tilecoord.toString(tileCoord);
|
||||
if (tileCoordKey in this.tiles_) {
|
||||
return;
|
||||
}
|
||||
var tileSize = this.tileGrid_.getTileSize(tileCoord.z);
|
||||
var tileSize = this.tileGrid_.getTileSize(tileCoordZ);
|
||||
var image = tile.getImage(this);
|
||||
var imageStyle = image.style;
|
||||
// Bootstrap sets the style max-width: 100% for all images, which
|
||||
@@ -383,9 +387,9 @@ ol.renderer.dom.TileLayerZ_.prototype.addTile = function(tile, tileGutter) {
|
||||
}
|
||||
tileElementStyle.position = 'absolute';
|
||||
tileElementStyle.left =
|
||||
((tileCoord.x - this.tileCoordOrigin_.x) * tileSize) + 'px';
|
||||
((tileCoordX - this.tileCoordOrigin_[1]) * tileSize) + 'px';
|
||||
tileElementStyle.top =
|
||||
((this.tileCoordOrigin_.y - tileCoord.y) * tileSize) + 'px';
|
||||
((this.tileCoordOrigin_[2] - tileCoordY) * tileSize) + 'px';
|
||||
if (goog.isNull(this.documentFragment_)) {
|
||||
this.documentFragment_ = document.createDocumentFragment();
|
||||
}
|
||||
@@ -432,7 +436,7 @@ ol.renderer.dom.TileLayerZ_.prototype.getResolution = function() {
|
||||
ol.renderer.dom.TileLayerZ_.prototype.removeTilesOutsideExtent =
|
||||
function(extent, opt_tileRange) {
|
||||
var tileRange = this.tileGrid_.getTileRangeForExtentAndZ(
|
||||
extent, this.tileCoordOrigin_.z, opt_tileRange);
|
||||
extent, this.tileCoordOrigin_[0], opt_tileRange);
|
||||
/** @type {Array.<ol.Tile>} */
|
||||
var tilesToRemove = [];
|
||||
var tile, tileCoordKey;
|
||||
@@ -445,7 +449,7 @@ ol.renderer.dom.TileLayerZ_.prototype.removeTilesOutsideExtent =
|
||||
var i, ii;
|
||||
for (i = 0, ii = tilesToRemove.length; i < ii; ++i) {
|
||||
tile = tilesToRemove[i];
|
||||
tileCoordKey = tile.tileCoord.toString();
|
||||
tileCoordKey = ol.tilecoord.toString(tile.tileCoord);
|
||||
goog.dom.removeNode(tile.getImage(this));
|
||||
delete this.tiles_[tileCoordKey];
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ goog.require('ol.layer.LayerState');
|
||||
goog.require('ol.source.Source');
|
||||
goog.require('ol.source.State');
|
||||
goog.require('ol.source.Tile');
|
||||
goog.require('ol.tilecoord');
|
||||
|
||||
|
||||
|
||||
@@ -282,7 +283,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[tile.tileCoord.toString()] = true;
|
||||
wantedTiles[ol.tilecoord.toString(tile.tileCoord)] = true;
|
||||
if (!tileQueue.isKeyQueued(tile.getKey())) {
|
||||
tileQueue.enqueue([tile, tileSourceKey,
|
||||
tileGrid.getTileCoordCenter(tile.tileCoord), tileResolution]);
|
||||
|
||||
@@ -18,6 +18,7 @@ goog.require('ol.renderer.webgl.Layer');
|
||||
goog.require('ol.renderer.webgl.tilelayer.shader');
|
||||
goog.require('ol.source.Tile');
|
||||
goog.require('ol.structs.Buffer');
|
||||
goog.require('ol.tilecoord');
|
||||
|
||||
|
||||
|
||||
@@ -222,7 +223,7 @@ ol.renderer.webgl.TileLayer.prototype.prepareFrame =
|
||||
tileState = tile.getState();
|
||||
if (tileState == ol.TileState.LOADED) {
|
||||
if (mapRenderer.isTileTextureLoaded(tile)) {
|
||||
tilesToDrawByZ[z][tile.tileCoord.toString()] = tile;
|
||||
tilesToDrawByZ[z][ol.tilecoord.toString(tile.tileCoord)] = tile;
|
||||
continue;
|
||||
}
|
||||
} else if (tileState == ol.TileState.EMPTY ||
|
||||
@@ -300,7 +301,7 @@ ol.renderer.webgl.TileLayer.prototype.prepareFrame =
|
||||
tileTextureQueue.enqueue([
|
||||
tile,
|
||||
tileGrid.getTileCoordCenter(tile.tileCoord),
|
||||
tileGrid.getResolution(tile.tileCoord.z),
|
||||
tileGrid.getResolution(tile.tileCoord[0]),
|
||||
tilePixelSize, tileGutter * pixelRatio
|
||||
]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user