OpenLayers.Layer.Grid

Base class for layers that use a lattice of tiles.  Create a new grid layer with the OpenLayers.Layer.Grid constructor.

Inherits from

Summary
OpenLayers.Layer.GridBase class for layers that use a lattice of tiles.
Properties
tileSize{OpenLayers.Size}
grid{Array(Array(OpenLayers.Tile))} This is an array of rows, each row is an array of tiles.
singleTile{Boolean} Moves the layer into single-tile mode, meaning that one tile will be loaded.
ratio{Float} Used only when in single-tile mode, this specifies the ratio of the size of the single tile to the size of the map.
buffer{Integer} Used only when in gridded mode, this specifies the number of extra rows and colums of tiles on each side which will surround the minimum grid tiles to cover the map.
numLoadingTiles{Integer} How many tiles are still loading?
Constructor
OpenLayers.Layer.GridCreate a new grid layer
Functions
destroyDeconstruct the layer and clear the grid.
clearGridGo through and remove all tiles from the grid, calling destroy() on each of them to kill circular references
cloneCreate a clone of this layer
moveToThis function is called whenever the map is moved.
setTileSizeCheck if we are in singleTile mode and if so, set the size as a ratio of the map size (as specified by the layer’s ‘ratio’ property).
getGridBoundsDeprecated.
getTilesBoundsReturn the bounds of the tile grid.
initSingleTile
calculateGridLayoutGenerate parameters for the grid layout.
initGriddedTiles
spiralTileLoadStarts at the top right corner of the grid and proceeds in a spiral towards the center, adding tiles one at a time to the beginning of a queue.
addTileGives subclasses of Grid the opportunity to create an OpenLayer.Tile of their choosing.
addTileMonitoringHooksThis function takes a tile as input and adds the appropriate hooks to the tile so that the layer can keep track of the loading tiles.
removeTileMonitoringHooksThis function takes a tile as input and removes the tile hooks that were added in addTileMonitoringHooks()
moveGriddedTiles
shiftRowShifty grid work
shiftColumnShift grid work in the other dimension
removeExcessTilesWhen the size of the map or the buffer changes, we may need to remove some excess rows and columns.
onMapResizeFor singleTile layers, this will set a new tile size according to the dimensions of the map pane.
getTileBoundsReturns The tile bounds for a layer given a pixel location.

Properties

tileSize

grid

{Array(Array(OpenLayers.Tile))} This is an array of rows, each row is an array of tiles.

singleTile

{Boolean} Moves the layer into single-tile mode, meaning that one tile will be loaded.  The tile’s size will be determined by the ‘ratio’ property.  When the tile is dragged such that it does not cover the entire viewport, it is reloaded.

ratio

{Float} Used only when in single-tile mode, this specifies the ratio of the size of the single tile to the size of the map.

buffer

{Integer} Used only when in gridded mode, this specifies the number of extra rows and colums of tiles on each side which will surround the minimum grid tiles to cover the map.

numLoadingTiles

{Integer} How many tiles are still loading?

Constructor

OpenLayers.Layer.Grid

Create a new grid layer

Parameters

name{String}
url{String}
params{Object}
options{Object} Hashtable of extra options to tag onto the layer

Functions

destroy

destroy: function()

Deconstruct the layer and clear the grid.

clearGrid

clearGrid:function()

Go through and remove all tiles from the grid, calling destroy() on each of them to kill circular references

clone

clone: function (obj)

Create a clone of this layer

Parameters

obj{Object} Is this ever used?

Returns

{OpenLayers.Layer.Grid} An exact clone of this OpenLayers.Layer.Grid

moveTo

moveTo:function(bounds,
zoomChanged,
dragging)

This function is called whenever the map is moved.  All the moving of actual ‘tiles’ is done by the map, but moveTo’s role is to accept a bounds and make sure the data that that bounds requires is pre-loaded.

Parameters

bounds{OpenLayers.Bounds}
zoomChanged{Boolean}
dragging{Boolean}

setTileSize

setTileSize: function(size)

Check if we are in singleTile mode and if so, set the size as a ratio of the map size (as specified by the layer’s ‘ratio’ property).

Parameters

size{OpenLayers.Size}

getGridBounds

getGridBounds: function()

Deprecated.  This function will be removed in 3.0.  Please use getTilesBounds() instead.

Returns

{OpenLayers.Bounds} A Bounds object representing the bounds of all the currently loaded tiles (including those partially or not at all seen onscreen)

getTilesBounds

getTilesBounds: function()

Return the bounds of the tile grid.

Returns

{OpenLayers.Bounds} A Bounds object representing the bounds of all the currently loaded tiles (including those partially or not at all seen onscreen).

initSingleTile

initSingleTile: function(bounds)

Parameters

bounds{OpenLayers.Bounds}

calculateGridLayout

calculateGridLayout: function(bounds,
extent,
resolution)

Generate parameters for the grid layout.  This

Parameters

bounds{<OpenLayers.Bound>}
extent{OpenLayers.Bounds}
resolution{Number}

Returns

Object containing properties tilelon, tilelat, tileoffsetlat, tileoffsetlat, tileoffsetx, tileoffsety

initGriddedTiles

initGriddedTiles:function(bounds)

Parameters

bounds{OpenLayers.Bounds}

spiralTileLoad

spiralTileLoad: function()

Starts at the top right corner of the grid and proceeds in a spiral towards the center, adding tiles one at a time to the beginning of a queue.

Once all the grid’s tiles have been added to the queue, we go back and iterate through the queue (thus reversing the spiral order from outside-in to inside-out), calling draw() on each tile.

addTile

addTile:function(bounds,
position)

Gives subclasses of Grid the opportunity to create an OpenLayer.Tile of their choosing.  The implementer should initialize the new tile and take whatever steps necessary to display it.

Parameters bounds - {OpenLayers.Bounds} position - {OpenLayers.Pixel}

Returns

{OpenLayers.Tile} The added OpenLayers.Tile

addTileMonitoringHooks

addTileMonitoringHooks: function(tile)

This function takes a tile as input and adds the appropriate hooks to the tile so that the layer can keep track of the loading tiles.

Parameters

tile{OpenLayers.Tile}

removeTileMonitoringHooks

removeTileMonitoringHooks: function(tile)

This function takes a tile as input and removes the tile hooks that were added in addTileMonitoringHooks()

Parameters

tile{OpenLayers.Tile}

moveGriddedTiles

moveGriddedTiles: function(bounds)

Parameters

bounds{OpenLayers.Bounds}

shiftRow

shiftRow:function(prepend)

Shifty grid work

Parameters

prepend{Boolean} if true, prepend to beginning. if false, then append to end

shiftColumn

shiftColumn: function(prepend)

Shift grid work in the other dimension

Parameters

prepend{Boolean} if true, prepend to beginning. if false, then append to end

removeExcessTiles

removeExcessTiles: function(rows,
columns)

When the size of the map or the buffer changes, we may need to remove some excess rows and columns.

Parameters

rows{Integer} Maximum number of rows we want our grid to have.
colums{Integer} Maximum number of columns we want our grid to have.

onMapResize

onMapResize: function()

For singleTile layers, this will set a new tile size according to the dimensions of the map pane.

getTileBounds

getTileBounds: function(viewPortPx)

Returns The tile bounds for a layer given a pixel location.

Parameters

viewPortPx{OpenLayers.Pixel} The location in the viewport.

Returns

{OpenLayers.Bounds} Bounds of the tile at the given pixel location.

Instances of this class represent a width/height pair
This is a class designed to designate a single tile, however it is explicitly designed to do relatively little.
destroy: function()
Deconstruct the layer and clear the grid.
clearGrid:function()
Go through and remove all tiles from the grid, calling destroy() on each of them to kill circular references
clone: function (obj)
Create a clone of this layer
moveTo:function(bounds,
zoomChanged,
dragging)
This function is called whenever the map is moved.
setTileSize: function(size)
Check if we are in singleTile mode and if so, set the size as a ratio of the map size (as specified by the layer’s ‘ratio’ property).
getGridBounds: function()
Deprecated.
getTilesBounds: function()
Return the bounds of the tile grid.
initSingleTile: function(bounds)
calculateGridLayout: function(bounds,
extent,
resolution)
Generate parameters for the grid layout.
initGriddedTiles:function(bounds)
spiralTileLoad: function()
Starts at the top right corner of the grid and proceeds in a spiral towards the center, adding tiles one at a time to the beginning of a queue.
addTile:function(bounds,
position)
Gives subclasses of Grid the opportunity to create an OpenLayer.Tile of their choosing.
addTileMonitoringHooks: function(tile)
This function takes a tile as input and adds the appropriate hooks to the tile so that the layer can keep track of the loading tiles.
removeTileMonitoringHooks: function(tile)
This function takes a tile as input and removes the tile hooks that were added in addTileMonitoringHooks()
moveGriddedTiles: function(bounds)
shiftRow:function(prepend)
Shifty grid work
shiftColumn: function(prepend)
Shift grid work in the other dimension
removeExcessTiles: function(rows,
columns)
When the size of the map or the buffer changes, we may need to remove some excess rows and columns.
onMapResize: function()
For singleTile layers, this will set a new tile size according to the dimensions of the map pane.
getTileBounds: function(viewPortPx)
Returns The tile bounds for a layer given a pixel location.
Create a new grid layer
Instances of this class represent bounding boxes.
This class represents a screen coordinate, in x and y coordinates
Close