code: function(bounds) {
          this.events.triggerEvent("retile");
  
          //determine new tile bounds
          var center = bounds.getCenterLonLat();
          var tileWidth = bounds.getWidth() * this.ratio;
          var tileHeight = bounds.getHeight() * this.ratio;
                                         
          var tileBounds = 
              new OpenLayers.Bounds(center.lon - (tileWidth/2),
                                    center.lat - (tileHeight/2),
                                    center.lon + (tileWidth/2),
                                    center.lat + (tileHeight/2));
    
          var px = this.map.getLayerPxFromLonLat({
              lon: tileBounds.left,
              lat: tileBounds.top
          });
  
          if (!this.grid.length) {
              this.grid[0] = [];
          }
  
          var tile = this.grid[0][0];
          if (!tile) {
              tile = this.addTile(tileBounds, px);
              
              this.addTileMonitoringHooks(tile);
              tile.draw();
              this.grid[0][0] = tile;
          } else {
              tile.moveTo(tileBounds, px);
          }           
          
          //remove all but our single tile
          this.removeExcessTiles(1,1);
  
          // store the resolution of the grid
          this.gridResolution = this.getServerResolution();
      }
docs: Method: initSingleTile
  
  Parameters:
  bounds - {<OpenLayers.Bounds>}