Started on proper date line wrapping

What we want in the end is vector tiles repeated just as raster
tiles. This change only avoids repeated tiles with the same
content being rendered and stored in the cache.
This commit is contained in:
ahocevar
2013-01-24 17:29:21 +01:00
parent fe605ceebb
commit b0a7badc8f

View File

@@ -222,6 +222,9 @@ ol.renderer.canvas.VectorLayer.prototype.renderFrame =
var sketchCanvasRenderer = new ol.renderer.canvas.Renderer(
sketchCanvas, sketchTransform);
var renderedFeatures = {};
// TODO: wrap date line properly
var numCols = Math.ceil((tileRangeExtent.maxX - tileRangeExtent.minX) /
tileSize.width / tileResolution);
var tile, tileContext, tileCoord, key, tileExtent, tileState, x, y;
// render features by geometry type
var filters = this.geometryFilters_,
@@ -229,7 +232,7 @@ ol.renderer.canvas.VectorLayer.prototype.renderFrame =
i, filter, type, features, symbolizer;
for (x = tileRange.minX; x <= tileRange.maxX; ++x) {
for (y = tileRange.minY; y <= tileRange.maxY; ++y) {
tileCoord = new ol.TileCoord(z, x, y);
tileCoord = new ol.TileCoord(z, goog.math.modulo(x, numCols), y);
key = tileCoord.toString();
tile = this.tileCache_[key];
tileExtent = tileGrid.getTileCoordExtent(tileCoord);