web-dev-qa-db-ja.com

表示されているすべてのタイルが完全に読み込まれたことを確認するにはどうすればよいですか?

すべてのvisibleタイルがダウンロードされ、リーフレットで表示されたときに検出するイベント(または他の方法)はありますか? ( すべての表示されているマップタイルが読み込まれたときに呼び出されるGoogle Mapsイベントと同様 ですが、代わりにリーフレット用です)

22
Forest Katsch

解決しました。 「load」イベントをタイルレイヤーにバインドします。例:

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") });
31
Forest Katsch

チラシドキュメント によるTileLayerイベントのリスト:

loadingEvent-タイルレイヤーがタイルの読み込みを開始すると発生します。

loadEvent-タイルレイヤーがすべての表示タイルをロードしたときに発生します。

tileloadstartTileEvent-タイルがリクエストされ、読み込みを開始すると発生します。

tileloadTileEvent-タイルが読み込まれたときに発生します。

tileunloadTileEvent-タイルが削除されると発生します(たとえば、unloadInvisibleTilesがオンになっている場合)。

24
NXT