forked from glenrobertson/leaflet-tilelayer-geojson
-
Notifications
You must be signed in to change notification settings - Fork 5
/
TileLayer.Debug.js
96 lines (77 loc) · 2.85 KB
/
TileLayer.Debug.js
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/*
* Debug layer for L.TileLayer.Vector
*/
L.TileLayer.Debug = L.TileLayer.Div.extend({
_requestCount: 0,
initialize: function (vectorLayer) {
L.TileLayer.Div.prototype.initialize.call(this, vectorLayer);
},
onAdd: function (map) {
map.on('moveend', this._onMoveend, this);
this.vectorLayer.on('loading', this.onLoading, this);
this.vectorLayer.on('load', this.onLoad, this);
L.TileLayer.Div.prototype.onAdd.apply(this, arguments);
},
onRemove: function (map) {
L.TileLayer.Div.prototype.onRemove.apply(this, arguments);
map.off('moveend', this._onMoveend, this);
this.vectorLayer.off('loading', this.onLoading, this);
this.vectorLayer.off('load', this.onLoad, this);
},
createTile: function (coords) {
var tile = document.createElement('div'),
key = this._tileCoordsToKey(coords);
tile.style.color = 'red';
tile.style.border = 'solid rgba(255, 0, 0, 1)';
tile.style.borderWidth = '1px 0 0 1px';
tile.style.boxSizing = 'border-box';
tile.style.MozBoxSizing = 'border-box';
tile.innerHTML = [this._getZoomForUrl(), coords.x, coords.y].join('/')
+ ' ' + '(zoom ' + this._map.getZoom() + ', key ' + key + ')';
return tile;
},
onTileRequest: function(key) {
this._requestCount++;
console.log('request-start: ' + key + ' - ' + this._requestCount);
},
onTileResponse: function(key) {
this._requestCount--;
console.log('request-end : ' + key + ' - ' + this._requestCount);
},
onTileRequestAbort: function(key) {
this._requestCount--;
console.log('request-abort: ' + key + ' - ' + this._requestCount);
},
onTileLoad: function(key) {
console.log('loaded : ' + key + ' - ' + this.vectorLayer._tilesToLoad
+ this._getUnclippedStats());
},
onTileUnload: function(key) {
console.log('unload : ' + key + this._getUnclippedStats());
},
_onMoveend: function(evt) {
console.log('--- update ---');
},
onLoading: function() {
console.log('--- loading ---');
if (console.time) {
console.time('load');
}
},
onLoad: function() {
if (console.time) {
console.timeEnd('load');
} else {
console.log('--- load ---');
}
},
_getUnclippedStats: function() {
var s = '';
if (this.vectorLayer.featureRefCounts && this.vectorLayer.commonFeatures) {
s += ' - refs = ' + Object.keys(this.vectorLayer.featureRefCounts).length;
s += ', commons = ' + Object.keys(this.vectorLayer.commonFeatures).length;
s += ', layers = ' + Object.keys(this.vectorLayer.vectorLayer._layers).length;
}
return s;
}
});