This commit is contained in:
Marc Jansen
2012-06-20 15:42:43 +02:00
4 changed files with 18 additions and 15 deletions

View File

@@ -91,6 +91,8 @@ ol.Map.DEFAULT_TILE_SIZE = 256;
* @return {ol.Loc} Location.
*/
ol.Map.prototype.getCenter = function() {
var proj = this.getUserProjection();
this.center_ = this.center_.transform(proj);
return this.center_;
};
@@ -201,7 +203,12 @@ ol.Map.prototype.getResolutionForZoom = function(zoom) {
* @param {ol.Loc} center Center.
*/
ol.Map.prototype.setCenter = function(center) {
this.center_ = center;
var proj = center.getProjection();
if (goog.isNull(proj)) {
proj = this.getUserProjection();
center.setProjection(proj);
}
this.center_ = center.transform(this.getProjection());
};

View File

@@ -130,26 +130,22 @@ ol.layer.XYZ.prototype.getData = function(bounds, resolution) {
offsetY = Math.floor(
(tileOriginY - boundsMaxY) / tileHeightGeo),
gridWidth = Math.ceil(
(boundsMaxX - boundsMinX) / tileWidthGeo),
gridHeight = Math.ceil(
(boundsMaxY - boundsMinY) / tileHeightGeo);
gridLeft = tileOriginX + tileWidthGeo * offsetX,
gridTop = tileOriginY - tileHeightGeo * offsetY;
var tiles = [],
tile,
url,
i, ii,
j, jj;
for (i=0, ii=gridWidth; i<ii; i++) {
var tiles = [], tile, url, i = 0, j;
while (gridTop - (i * tileHeightGeo) > boundsMinY) {
tiles[i] = [];
for (j=0, jj=gridHeight; j<jj; j++) {
j = 0;
while (gridLeft + (j * tileWidthGeo) < boundsMaxX) {
url = me.url_.replace('{x}', offsetX + i + '')
.replace('{y}', offsetY + j + '')
.replace('{z}', zoom);
tile = new ol.Tile(url);
tiles[i][j] = tile;
j++;
}
i++;
}
return new ol.TileSet(tiles, tileWidth, tileHeight, resolution);