A Leaflet plugin to periodically ('live') update something on a map (Demo)
Leaflet.Liveupdate is a simple control to update features of a Leaflet map periodically using a callback function.
A control button is added to the map, with which the live updates can be stopped and restarted.
L.control.liveupdate ({
update_map: function () {
...
},
position: 'topleft'
})
.addTo(map)
.startUpdating();
There are some options:
position:
(string) The standard Leaflet.Control position parameter. Optional, defaults to 'topleft'
update_map:
(function) The callback function that is called periodically
title:
(object) An object that defines the message that is displayed on the map when liveupdate is
toggled on or off. A Leaflet.Messagebox
must be added to the map for this to work. Optional, defaults to
{
'false': 'Start live updates',
'true': 'Stop live updates'
}
interval:
(integer) The number of milliseconds in the interval in which the
update should be repeated. Optional, defaults to 10000 (10 seconds).
isUpdating()
: Is the control currently active? Returns true or false.
toggleUpdating()
: Stop updating when active, start updating otherwise. Returns 'this'.
startUpdating()
: Start updating. Returns 'this'.
stopUpdating()
: Stop updating. Returns 'this'.
updateNow()
: Run the update function once, regardless of isUpdating(). Returns 'this'.
When startUpdating()
is done, it emits a liveupdatestart
.
When stopUpdating()
is done, it emits a liveupdatestop
.
The liveupdate button can be styled with CSS, see the css file for details.
Leaflet.Liveupdate is free software. Please see LICENSE for details.