Only adjust tile when necessary
This commit is contained in:
@@ -164,6 +164,7 @@ ol.renderer.dom.TileLayer.prototype.render = function() {
|
|||||||
}
|
}
|
||||||
var mapExtent = /** @type {!ol.Extent} */ map.getExtent();
|
var mapExtent = /** @type {!ol.Extent} */ map.getExtent();
|
||||||
var mapResolution = /** @type {number} */ map.getResolution();
|
var mapResolution = /** @type {number} */ map.getResolution();
|
||||||
|
var resolutionChanged = (mapResolution !== this.renderedMapResolution_);
|
||||||
|
|
||||||
var tileLayer = this.getLayer();
|
var tileLayer = this.getLayer();
|
||||||
var tileStore = tileLayer.getStore();
|
var tileStore = tileLayer.getStore();
|
||||||
@@ -264,11 +265,14 @@ ol.renderer.dom.TileLayer.prototype.render = function() {
|
|||||||
var style = img.style;
|
var style = img.style;
|
||||||
// TODO: use translate method
|
// TODO: use translate method
|
||||||
// TODO: only set this when changed (z change)
|
// TODO: only set this when changed (z change)
|
||||||
style.left = (pixelBounds.minX - tileOffset.x) + 'px';
|
var append = !(key in this.renderedTiles_);
|
||||||
style.top = (-pixelBounds.maxY - tileOffset.y) + 'px';
|
if (append || resolutionChanged) {
|
||||||
style.width = pixelBounds.getWidth() + 'px';
|
style.left = (pixelBounds.minX - tileOffset.x) + 'px';
|
||||||
style.height = pixelBounds.getHeight() + 'px';
|
style.top = (-pixelBounds.maxY - tileOffset.y) + 'px';
|
||||||
if (!(key in this.renderedTiles_)) {
|
style.width = pixelBounds.getWidth() + 'px';
|
||||||
|
style.height = pixelBounds.getHeight() + 'px';
|
||||||
|
}
|
||||||
|
if (append) {
|
||||||
this.renderedTiles_[key] = tile;
|
this.renderedTiles_[key] = tile;
|
||||||
style.position = 'absolute';
|
style.position = 'absolute';
|
||||||
if (tileZ === z) {
|
if (tileZ === z) {
|
||||||
|
|||||||
Reference in New Issue
Block a user