1 | L.Control.ReloadTiles = L.Control.extend({
|
---|
2 | options: {
|
---|
3 | position: 'bottomleft',
|
---|
4 | layers: []
|
---|
5 | },
|
---|
6 |
|
---|
7 | onAdd: function (map) {
|
---|
8 | var name = 'control-reloadtiles',
|
---|
9 | container = L.DomUtil.create('div', name + ' webmap-control');
|
---|
10 |
|
---|
11 | L.DomEvent.on (container, 'mousemove', L.DomEvent.stopPropagation);
|
---|
12 |
|
---|
13 | this._map = map;
|
---|
14 |
|
---|
15 | this._reloadbutton = this._createButton(
|
---|
16 | "Reload tiles", "Reload tiles",
|
---|
17 | name + "-btn", container, this._reload, this);
|
---|
18 |
|
---|
19 | return container;
|
---|
20 | },
|
---|
21 |
|
---|
22 | onRemove: function (map) {
|
---|
23 | },
|
---|
24 |
|
---|
25 | _reload: function (e) {
|
---|
26 | var newTileTime = new Date().getTime();
|
---|
27 |
|
---|
28 | for (var i = 0; i < this.options.layers.length; i++) {
|
---|
29 | this.options.layers [i].options.time = newTileTime;
|
---|
30 | this.options.layers [i].redraw ();
|
---|
31 | }
|
---|
32 | },
|
---|
33 |
|
---|
34 | _createButton: function (html, title, className, container, fn, context) {
|
---|
35 | var link = L.DomUtil.create('a', className, container);
|
---|
36 | link.innerHTML = html;
|
---|
37 | link.href = '#';
|
---|
38 | link.title = title;
|
---|
39 |
|
---|
40 | var stop = L.DomEvent.stopPropagation;
|
---|
41 |
|
---|
42 | L.DomEvent
|
---|
43 | .on(link, 'click', stop)
|
---|
44 | .on(link, 'mousedown', stop)
|
---|
45 | .on(link, 'dblclick', stop)
|
---|
46 | .on(link, 'click', L.DomEvent.preventDefault)
|
---|
47 | .on(link, 'click', fn, context)
|
---|
48 | .on(link, 'click', this._refocusOnMap, context);
|
---|
49 |
|
---|
50 | return link;
|
---|
51 | }
|
---|
52 |
|
---|
53 | });
|
---|
54 |
|
---|