OpenLayers OpenLayers

Ticket #1106: patch.diff

File patch.diff, 2.2 kB (added by pspencer, 1 year ago)

patch for Grid.js enhancements

  • OpenLayers/Layer/Grid.js

    old new  
    340340        var startLon = tileoffsetlon; 
    341341 
    342342        var rowidx = 0; 
     343         
     344        var layerContainerDivLeft = parseInt(this.map.layerContainerDiv.style.left); 
     345        var layerContainerDivTop = parseInt(this.map.layerContainerDiv.style.top); 
     346         
    343347     
    344348        do { 
    345349            var row = this.grid[rowidx++]; 
     
    360364                                          tileoffsetlat + tilelat); 
    361365 
    362366                var x = tileoffsetx; 
    363                 x -= parseInt(this.map.layerContainerDiv.style.left)
     367                x -= layerContainerDivLeft
    364368 
    365369                var y = tileoffsety; 
    366                 y -= parseInt(this.map.layerContainerDiv.style.top)
     370                y -= layerContainerDivTop
    367371 
    368372                var px = new OpenLayers.Pixel(x, y); 
    369373                var tile = row[colidx++]; 
     
    560564     */ 
    561565    shiftRow:function(prepend) { 
    562566        var modelRowIndex = (prepend) ? 0 : (this.grid.length - 1); 
    563         var modelRow = this.grid[modelRowIndex]; 
     567        var grid = this.grid; 
     568        var modelRow = grid[modelRowIndex]; 
    564569 
    565570        var resolution = this.map.getResolution(); 
    566571        var deltaY = (prepend) ? -this.tileSize.h : this.tileSize.h; 
    567572        var deltaLat = resolution * -deltaY; 
    568573 
    569         var row = (prepend) ? this.grid.pop() : this.grid.shift(); 
     574        var row = (prepend) ? grid.pop() : grid.shift(); 
    570575 
    571576        for (var i=0; i < modelRow.length; i++) { 
    572577            var modelTile = modelRow[i]; 
     
    579584        } 
    580585 
    581586        if (prepend) { 
    582             this.grid.unshift(row); 
     587            grid.unshift(row); 
    583588        } else { 
    584             this.grid.push(row); 
     589            grid.push(row); 
    585590        } 
    586591    }, 
    587592 
     
    612617            var tile = prepend ? this.grid[i].pop() : this.grid[i].shift(); 
    613618            tile.moveTo(bounds, position); 
    614619            if (prepend) { 
    615                 this.grid[i].unshift(tile); 
     620                row.unshift(tile); 
    616621            } else { 
    617                 this.grid[i].push(tile); 
     622                row.push(tile); 
    618623            } 
    619624        } 
    620625    },