如何判断所有可见图块何时已满载?

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 &copy; <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。

以上是关于如何判断所有可见图块何时已满载?的主要内容,如果未能解决你的问题,请参考以下文章

如何判断何时可以重新加载表视图,以便它显示我已下载和解析的 JSON 数据?

writeToFile 如何判断何时完成

TCP套接字服务器如何判断从客户端接收到的数据何时完成?

如何判断 IPC::Run 作业何时完成

C#在遍历文件结构时如何判断所有线程或任务何时完成[重复]

ALSA:如何判断声音何时播放完毕