This is a class designed to designate a single tile, however it is explicitly designed to do relatively little. Tiles store information about themselves -- such as the URL that they are related to, and their size - but do not add themselves to the layer div automatically, for example. Create a new tile with the ALKMaps.Tile constructor, or a subclass.
TBD 3.0 | remove reference to url in above paragraph |
ALKMaps.Tile | This is a class designed to designate a single tile, however it is explicitly designed to do relatively little. |
Properties | |
events | {ALKMaps.Events} An events object that handles all events on the tile. |
eventListeners | {Object} If set as an option at construction, the eventListeners object will be registered with ALKMaps.Events.on. |
id | {String} null |
layer | {ALKMaps.Layer} layer the tile is attached to |
url | {String} url of the request. |
bounds | {ALKMaps.Bounds} null |
size | {ALKMaps.Size} null |
position | {ALKMaps.Pixel} Top Left pixel of the tile |
isLoading | {Boolean} Is the tile loading? |
Constructor | |
ALKMaps.Tile | Constructor for a new ALKMaps.Tile instance. |
Functions | |
unload | Call immediately before destroying if you are listening to tile events, so that counters are properly handled if tile is still loading at destroy-time. |
destroy | Nullify references to prevent circular references and memory leaks. |
draw | Clear whatever is currently in the tile, then return whether or not it should actually be re-drawn. |
shouldDraw | Return whether or not the tile should actually be (re-)drawn. |
setBounds | Sets the bounds on this instance |
moveTo | Reposition the tile. |
clear | Clear the tile of any bounds/position-related data so that it can be reused in a new location. |
{ALKMaps.Events} An events object that handles all events on the tile.
tile.events.register(type, obj, listener);
beforedraw | Triggered before the tile is drawn. Used to defer drawing to an animation queue. To defer drawing, listeners need to return false, which will abort drawing. The queue handler needs to call <draw>(true) to actually draw the tile. |
loadstart | Triggered when tile loading starts. |
loadend | Triggered when tile loading ends. |
loaderror | Triggered before the loadend event (i.e. when the tile is still hidden) if the tile could not be loaded. |
reload | Triggered when an already loading tile is reloaded. |
unload | Triggered before a tile is unloaded. |
{Object} If set as an option at construction, the eventListeners object will be registered with ALKMaps.Events.on. Object structure must be a listeners object as shown in the example for the events.on method.
This options can be set in the ``tileOptions`` option from ALKMaps.Layer.Grid. For example, to be notified of the ``loadend`` event of each tiles:
new ALKMaps.Layer.OSM('osm', 'http://tile.openstreetmap.org/${z}/${x}/${y}.png', { tileOptions: { eventListeners: { 'loadend': function(evt) { // do something on loadend } } } });
{ALKMaps.Layer} layer the tile is attached to
{ALKMaps.Bounds} null
{ALKMaps.Size} null
{ALKMaps.Pixel} Top Left pixel of the tile
Constructor for a new ALKMaps.Tile instance.
layer | {ALKMaps.Layer} layer that the tile will go in. |
position | {ALKMaps.Pixel} |
bounds | {ALKMaps.Bounds} |
url | {String} |
size | {ALKMaps.Size} |
options | {Object} |
draw: function( deferred )
Clear whatever is currently in the tile, then return whether or not it should actually be re-drawn. This is an example implementation that can be overridden by subclasses. The minimum thing to do here is to call clear and return the result from shouldDraw.
deferred | {Boolean} When drawing was aborted by returning false from a beforedraw listener, the queue manager needs to pass true, so the tile will not be cleared and immediately be drawn. Otherwise, the tile will be cleared and a beforedraw event will be fired. |
{Boolean} Whether or not the tile should actually be drawn.
moveTo: function ( bounds, position, redraw )
Reposition the tile.
bounds | {ALKMaps.Bounds} |
position | {ALKMaps.Pixel} |
redraw | {Boolean} Call draw method on tile after moving. Default is true |
Convenience method for registering listeners with a common scope.
on: function( object )
Call immediately before destroying if you are listening to tile events, so that counters are properly handled if tile is still loading at destroy-time.
unload: function()
Nullify references to prevent circular references and memory leaks.
destroy:function()
Clear whatever is currently in the tile, then return whether or not it should actually be re-drawn.
draw: function( deferred )
Return whether or not the tile should actually be (re-)drawn.
shouldDraw: function()
Sets the bounds on this instance
setBounds: function( bounds )
Reposition the tile.
moveTo: function ( bounds, position, redraw )
Clear the tile of any bounds/position-related data so that it can be reused in a new location.
clear: function( draw )