【问题标题】: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,但用于传单)

【问题讨论】:

标签: javascript events leaflet dom-events


【解决方案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 时)。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-29
  • 2011-02-16
  • 2011-09-10
  • 1970-01-01
  • 2015-08-19
  • 1970-01-01
相关资源
最近更新 更多