Reputation: 1555
Is there an event (or other method) to detect when all visible tiles have been downloaded and displayed with leaflet? (Similar to Google Maps event that is called when all visible map tiles are loaded, but for leaflet instead)
Upvotes: 27
Views: 20902
Reputation: 2011
The list of TileLayer events according to the leaflet documentation:
loading Event - Fired when the tile layer starts loading tiles.
load Event - Fired when the tile layer loaded all visible tiles.
tileloadstart TileEvent - Fired when a tile is requested and starts loading.
tileload TileEvent - Fired when a tile loads.
tileunload TileEvent - Fired when a tile is removed (e.g. when you have unloadInvisibleTiles on).
Upvotes: 27
Reputation: 1555
Solved. Bind the "load" event on the tile layer. Example:
var tile_layer=L.tileLayer(tile_url,{
attribution: "Map data © <a href='http://openstreetmap.org'>OpenStreetMap</a> "+
"contributors, <a href='http://creativecommons.org/licenses/by-sa/2.0/'>CC-BY-SA</a>.",
maxZoom: 18
});
tile_layer.addTo(map);
tile_layer.on("load",function() { console.log("all visible tiles have been loaded") });
Upvotes: 41