Merge branch 'master' of github.com:openlayers/ol3 into animation-frame
Conflicts: src/ol/renderer/dom/tilelayer.js
This commit is contained in:
@@ -117,10 +117,10 @@ ol.renderer.dom.TileLayer.prototype.render = function() {
|
|||||||
var z = tileGrid.getZForResolution(mapResolution);
|
var z = tileGrid.getZForResolution(mapResolution);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {Object.<number, Object.<string, ol.Tile>>}
|
* @type {Object.<string, Object.<string, ol.Tile>>}
|
||||||
*/
|
*/
|
||||||
var tilesToDrawByZ = {};
|
var tilesToDrawByZ = {};
|
||||||
tilesToDrawByZ[z] = {};
|
tilesToDrawByZ[String(z)] = {};
|
||||||
|
|
||||||
var tileRange =
|
var tileRange =
|
||||||
tileGrid.getTileRangeForExtentAndResolution(mapExtent, mapResolution);
|
tileGrid.getTileRangeForExtentAndResolution(mapExtent, mapResolution);
|
||||||
@@ -137,7 +137,7 @@ ol.renderer.dom.TileLayer.prototype.render = function() {
|
|||||||
var key = tile.tileCoord.toString();
|
var key = tile.tileCoord.toString();
|
||||||
var state = tile.getState();
|
var state = tile.getState();
|
||||||
if (state == ol.TileState.LOADED) {
|
if (state == ol.TileState.LOADED) {
|
||||||
tilesToDrawByZ[z][key] = tile;
|
tilesToDrawByZ[String(z)][key] = tile;
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
if (state != ol.TileState.LOADING) {
|
if (state != ol.TileState.LOADING) {
|
||||||
@@ -156,10 +156,12 @@ ol.renderer.dom.TileLayer.prototype.render = function() {
|
|||||||
tileGrid.forEachTileCoordParentTileRange(
|
tileGrid.forEachTileCoordParentTileRange(
|
||||||
tileCoord,
|
tileCoord,
|
||||||
function(altZ, altTileRange) {
|
function(altZ, altTileRange) {
|
||||||
|
altZ = String(altZ);
|
||||||
var fullyCovered = true;
|
var fullyCovered = true;
|
||||||
altTileRange.forEachTileCoord(altZ, function(altTileCoord) {
|
altTileRange.forEachTileCoord(altZ, function(altTileCoord) {
|
||||||
var tileKey = altTileCoord.toString();
|
var tileKey = altTileCoord.toString();
|
||||||
if (tilesToDrawByZ[altZ] && tilesToDrawByZ[altZ][tileKey]) {
|
if (tilesToDrawByZ[altZ] &&
|
||||||
|
tilesToDrawByZ[altZ][tileKey]) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var altTile = tileSource.getTile(altTileCoord);
|
var altTile = tileSource.getTile(altTileCoord);
|
||||||
@@ -178,17 +180,16 @@ ol.renderer.dom.TileLayer.prototype.render = function() {
|
|||||||
|
|
||||||
}, this);
|
}, this);
|
||||||
|
|
||||||
/** @type {Array.<number>} */
|
|
||||||
var zs = goog.object.getKeys(tilesToDrawByZ);
|
var zs = goog.object.getKeys(tilesToDrawByZ);
|
||||||
goog.array.sort(zs);
|
zs.sort(function(a, b) {return a - b});
|
||||||
|
|
||||||
var fragment = document.createDocumentFragment();
|
var fragment = document.createDocumentFragment();
|
||||||
var altFragment = document.createDocumentFragment();
|
var altFragment = document.createDocumentFragment();
|
||||||
var newTiles = false;
|
var newTiles = false;
|
||||||
var newAltTiles = false;
|
var newAltTiles = false;
|
||||||
for (var i = 0, ii = zs.length; i < ii; ++i) {
|
for (var i = 0, ii = zs.length; i < ii; ++i) {
|
||||||
var tileZ = zs[i];
|
var tileZ = +zs[i];
|
||||||
var tilesToDraw = tilesToDrawByZ[tileZ];
|
var tilesToDraw = tilesToDrawByZ[String(tileZ)];
|
||||||
var tileOffset = this.getTileOffset_(tileZ, mapResolution);
|
var tileOffset = this.getTileOffset_(tileZ, mapResolution);
|
||||||
for (var key in tilesToDraw) {
|
for (var key in tilesToDraw) {
|
||||||
var tile = tilesToDraw[key];
|
var tile = tilesToDraw[key];
|
||||||
|
|||||||
@@ -455,7 +455,7 @@ ol.renderer.webgl.TileLayer.prototype.render = function() {
|
|||||||
}, this);
|
}, this);
|
||||||
|
|
||||||
/** @type {Array.<number>} */
|
/** @type {Array.<number>} */
|
||||||
var zs = goog.object.getKeys(tilesToDrawByZ);
|
var zs = goog.array.map(goog.object.getKeys(tilesToDrawByZ), Number);
|
||||||
goog.array.sort(zs);
|
goog.array.sort(zs);
|
||||||
var uTileOffset = goog.vec.Vec4.createFloat32();
|
var uTileOffset = goog.vec.Vec4.createFloat32();
|
||||||
goog.array.forEach(zs, function(z) {
|
goog.array.forEach(zs, function(z) {
|
||||||
|
|||||||
Reference in New Issue
Block a user