aboutsummaryrefslogtreecommitdiffstats
path: root/extlib/leaflet/src/layer/tile/TileLayer.Canvas.js
blob: 08bbaae2534daf78c90d36924eb8661fe7794145 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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);
	}
});