mediagoblin/extlib/leaflet/src/layer/tile/TileLayer.Canvas.js
2012-01-25 23:42:04 +01:00

41 lines
898 B
JavaScript

L.TileLayer.Canvas = L.TileLayer.extend({
options: {
async: false
},
initialize: function(options) {
L.Util.setOptions(this, options);
},
_createTileProto: function() {
this._canvasProto = L.DomUtil.create('canvas', 'leaflet-tile');
var tileSize = this.options.tileSize;
this._canvasProto.width = tileSize;
this._canvasProto.height = tileSize;
},
_createTile: function() {
var tile = this._canvasProto.cloneNode(false);
tile.onselectstart = tile.onmousemove = L.Util.falseFn;
return tile;
},
_loadTile: function(tile, tilePoint, zoom) {
tile._layer = this;
this.drawTile(tile, tilePoint, zoom);
if (!this.options.async) {
this.tileDrawn(tile);
}
},
drawTile: function(tile, tilePoint, zoom) {
// override with rendering code
},
tileDrawn: function(tile) {
this._tileOnLoad.call(tile);
}
});