41 lines
898 B
JavaScript
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);
|
|
}
|
|
}); |