如何判断所有可见图块何时已满载?
Posted
技术标签:
【中文标题】如何判断所有可见图块何时已满载?【英文标题】:How to tell when all visible tiles have fully loaded? 【发布时间】:2014-03-09 22:17:04 【问题描述】:是否有一个事件(或其他方法)来检测所有可见图块何时已下载并与传单一起显示? (类似于Google Maps event that is called when all visible map tiles are loaded,但用于传单)
【问题讨论】:
leafletjs.com/reference-1.2.0.html#map-whenready 呢? 【参考方案1】:解决了。在瓦片层上绑定“加载”事件。示例:
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") );
【讨论】:
非常有用,谢谢。其他地方的一些答案提到在地图级别添加“加载”侦听器,但它几乎立即触发。【参考方案2】:根据the leaflet documentation的TileLayer事件列表:
正在加载 事件 - 当瓦片层开始加载瓦片时触发。
load Event - 当瓦片层加载所有可见瓦片时触发。
tileloadstart TileEvent - 当一个 tile 被请求并开始加载时触发。
tileload TileEvent - 在 tile 加载时触发。
tileunload TileEvent - 当一个 tile 被移除时触发(例如,当你打开 unloadInvisibleTiles 时)。
【讨论】:
有关地图事件的完整列表,请参阅leafletjs.com/reference.html#map-events。以上是关于如何判断所有可见图块何时已满载?的主要内容,如果未能解决你的问题,请参考以下文章