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}
tileOrigin{OpenLayers.LonLat} Optional origin for aligning the grid of tiles.
tileOptions{Object} optional configuration options for OpenLayers.Tile instances created by this Layer, if supported by the tile class.
tileClass{OpenLayers.Tile} The tile class to use for this layer.
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 columns of tiles on each side which will surround the minimum grid tiles to cover the map.
transitionEffect{String} The transition effect to use when the map is zoomed.
numLoadingTiles{Integer} How many tiles are still loading?
removeBackBufferDelay{Number} Delay for removing the backbuffer when all tiles have finished loading.
className{String} Name of the class added to the layer div.
Constructor
OpenLayers.Layer.GridCreate a new grid layer
Functions
destroyDeconstruct the layer and clear the grid.
mergeNewParamsRefetches tiles with new params merged, keeping a backbuffer.
addOptions
cloneCreate a clone of this layer
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).
getTilesBoundsReturn the bounds of the tile grid.
addTileCreate a tile, initialize it, and add it to the layer div.
getTileBoundsReturns The tile bounds for a layer given a pixel location.

Properties

tileSize

tileOrigin

{OpenLayers.LonLat} Optional origin for aligning the grid of tiles.  If provided, requests for tiles at all resolutions will be aligned with this location (no tiles shall overlap this location).  If not provided, the grid of tiles will be aligned with the layer’s maxExtent.  Default is ``null``.

tileOptions

{Object} optional configuration options for OpenLayers.Tile instances created by this Layer, if supported by the tile class.

tileClass

{OpenLayers.Tile} The tile class to use for this layer.  Defaults is OpenLayers.Tile.Image.

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.  Default value is 1.5.

buffer

{Integer} Used only when in gridded mode, this specifies the number of extra rows and columns of tiles on each side which will surround the minimum grid tiles to cover the map.  For very slow loading layers, a larger value may increase performance somewhat when dragging, but will increase bandwidth use significantly.

transitionEffect

{String} The transition effect to use when the map is zoomed.  Two possible values:

”resize”Existing tiles are resized on zoom to provide a visual effect of the zoom having taken place immediately.  As the new tiles become available, they are drawn on top of the resized tiles (this is the default setting).
”map-resize”Existing tiles are resized on zoom and placed below the base layer.  New tiles for the base layer will cover existing tiles.  This setting is recommended when having an overlay duplicated during the transition is undesirable (e.g. street labels or big transparent fills).
nullNo transition effect.

Using “resize” on non-opaque layers can cause undesired visual effects.  Set transitionEffect to null in this case.

numLoadingTiles

{Integer} How many tiles are still loading?

removeBackBufferDelay

{Number} Delay for removing the backbuffer when all tiles have finished loading.  Can be set to 0 when no css opacity transitions for the olTileImage class are used.  Default is 0 for singleTile layers, 2500 for tiled layers.  See className for more information on tile animation.

className

{String} Name of the class added to the layer div.  If not set in the options passed to the constructor then className defaults to “olLayerGridSingleTile” for single tile layers (see singleTile), and “olLayerGrid” for non single tile layers.

Note

The displaying of tiles is not animated by default for single tile layers - OpenLayers’ default theme (style.css) includes this:

.olLayerGrid .olTileImage {
    -webkit-transition: opacity 0.2s linear;
    -moz-transition: opacity 0.2s linear;
    -o-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
 }

To animate tile displaying for any grid layer the following CSS rule can be used:

.olTileImage {
    -webkit-transition: opacity 0.2s linear;
    -moz-transition: opacity 0.2s linear;
    -o-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
}

In that case, to avoid flash effects, removeBackBufferDelay should not be zero.

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.

mergeNewParams

Refetches tiles with new params merged, keeping a backbuffer.  Each loading new tile will have a css class of ‘.olTileReplacing’.  If a stylesheet applies a ‘display: none’ style to that class, any fade-in transition will not apply, and backbuffers for each tile will be removed as soon as the tile is loaded.

Parameters

newParams{Object}

Returns

redrawn: {Boolean} whether the layer was actually redrawn.

addOptions

addOptions: function (newOptions,
reinitialize)

Parameters

newOptions{Object}
reinitialize{Boolean} If set to true, and if resolution options of the current baseLayer were changed, the map will be recentered to make sure that it is displayed with a valid resolution, and a changebaselayer event will be triggered.

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

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}

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).

addTile

addTile: function(bounds,
position)

Create a tile, initialize it, and add it to the layer div.

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

Returns

{OpenLayers.Tile} The added OpenLayers.Tile

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 class represents a longitude and latitude 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.
addOptions: function (newOptions,
reinitialize)
clone: function (obj)
Create a clone of this layer
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).
getTilesBounds: function()
Return the bounds of the tile grid.
addTile: function(bounds,
position)
Create a tile, initialize it, and add it to the layer div.
getTileBounds: function(viewPortPx)
Returns The tile bounds for a layer given a pixel location.
Create a new grid layer
{<OpenLayers.Bounds>|Array} If provided as an array, the array should consist of four values (left, bottom, right, top).
{Boolean} Moves the layer into single-tile mode, meaning that one tile will be loaded.
{String} Name of the class added to the layer div.
{Number} Delay for removing the backbuffer when all tiles have finished loading.
Instances of this class represent bounding boxes.
This class represents a screen coordinate, in x and y coordinates
Close