# 3dtiles loading indication

**URL:** <https://community.cesium.com/t/3dtiles-loading-indication/17602>\
**Category:** CesiumJS\
**Created:** [March 7, 2022, 1:40pm UTC](https://community.cesium.com/t/3dtiles-loading-indication/17602 "2022-03-07T13:40:09Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nitsan\_Baleli](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/nitsan_baleli/32/7116_2.png) [@Nitsan\_Baleli](https://community.cesium.com/u/Nitsan_Baleli)\
**Post date:** [March 7, 2022, 1:40pm UTC](https://community.cesium.com/t/3dtiles-loading-indication/17602/1 "2022-03-07T13:40:09Z")

</div>

I’d like to know if there’s a way to be notified whenever 3dtiles are loading,  
I’ve tried using `scene.globe.tileLoadProgressEvent` but that seems to not be related?

More specifically, I’m interested in the xhr requests to the `b3dm` files.

Thank you

---

<div class="post-metadata">

**Author:** ![Nitsan\_Baleli](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/nitsan_baleli/32/7116_2.png) [@Nitsan\_Baleli](https://community.cesium.com/u/Nitsan_Baleli)\
**Post date:** [March 10, 2022, 6:59am UTC](https://community.cesium.com/t/3dtiles-loading-indication/17602/2 "2022-03-10T06:59:19Z")

</div>

@sam.rothstein @sarah maybe you know?

---

<div class="post-metadata">

**Author:** ![Gu-Miao](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/gu-miao/32/6222_2.png) [@Gu-Miao](https://community.cesium.com/u/Gu-Miao)\
**Post date:** [March 10, 2022, 7:10am UTC](https://community.cesium.com/t/3dtiles-loading-indication/17602/3 "2022-03-10T07:10:15Z")

</div>

Maybe you want `Cesium3dTileset#readyPromise` or `Cesium3dTileset#tileLoad`?  
See its doucment here [https://cesium.com/learn/cesiumjs/ref-doc/Cesium3DTileset.html?classFilter=tileset](https://cesium.com/learn/cesiumjs/ref-doc/Cesium3DTileset.html?classFilter=tileset).

---

<div class="post-metadata">

**Author:** ![Nitsan\_Baleli](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/nitsan_baleli/32/7116_2.png) [@Nitsan\_Baleli](https://community.cesium.com/u/Nitsan_Baleli)\
**Post date:** [March 10, 2022, 8:06am UTC](https://community.cesium.com/t/3dtiles-loading-indication/17602/4 "2022-03-10T08:06:32Z")

</div>

correct me if I’m wrong please, but aren’t these events fire only after the tile was loaded?  
i.e there’s no way to know if there are more tiles, or if they are currently being loaded.

hence there’s no way to actually know **when things are loading**

---

<div class="post-metadata">

**Author:** ![Gu-Miao](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/gu-miao/32/6222_2.png) [@Gu-Miao](https://community.cesium.com/u/Gu-Miao)\
**Post date:** [March 10, 2022, 8:27am UTC](https://community.cesium.com/t/3dtiles-loading-indication/17602/5 "2022-03-10T08:27:53Z")

</div>

You can make sure with specific vision with `tilesLoaded` property. But if you want to know status of all tiles in tileset, I think the anwser is no.

---

<div class="post-metadata">

**Author:** ![Gu-Miao](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/gu-miao/32/6222_2.png) [@Gu-Miao](https://community.cesium.com/u/Gu-Miao)\
**Post date:** [March 10, 2022, 8:28am UTC](https://community.cesium.com/t/3dtiles-loading-indication/17602/6 "2022-03-10T08:28:55Z")

</div>

And could you show me more about what you want? That may be helpful.

---

<div class="post-metadata">

**Author:** ![Nitsan\_Baleli](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/nitsan_baleli/32/7116_2.png) [@Nitsan\_Baleli](https://community.cesium.com/u/Nitsan_Baleli)\
**Post date:** [March 10, 2022, 8:48am UTC](https://community.cesium.com/t/3dtiles-loading-indication/17602/7 "2022-03-10T08:48:56Z")

</div>

Ill try to explain:  
every time I Pan/Zoom, there is heavy traffic in the network tab. i.e Cesium is requesting more and more tiles.

I want to give the user a visual feedback, so that he knows that loading isn’t done.

Hope this clarifies things

---

<div class="post-metadata">

**Author:** ![Gu-Miao](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/gu-miao/32/6222_2.png) [@Gu-Miao](https://community.cesium.com/u/Gu-Miao)\
**Post date:** [March 10, 2022, 9:33am UTC](https://community.cesium.com/t/3dtiles-loading-indication/17602/8 "2022-03-10T09:33:47Z")

</div>

> **[Cesium Sandcastle](https://sandcastle.cesium.com/#c=nVRLb9s4EP4rhPdgGbBovWW5jlE0u7cUXWyK7cUXRhrZRCnSS9KPpPB/36FEJUjS7mFhg49vZr55UrWSxpIf5G8OZ9BzUmtgFr6Y7tORi4bLnRmxb0qL5itozbgkV3JDbsHwY7eVW1n3JKeeAgUSzp4vmNa90q2SFs1AT+fkx1YSYgeeP7U68Qb06ic+gtl8K68zxz8wU1ODBHpQxqIdEpt7y3ZgaHthjIJkDwIadG/1EV6islyAAYv4+9SC2VtuzTtu+QlJWdME3vZ9DDXrQDOKMpdn0KfUgLFcMsuVXPna0FumLZ6YTGmrVfc77DSACcIyo1FczUkW0aKKkzkp88ilS4jSHLBWA0vPS8gemAv3mfUzs3tq1V+IMmmCxJsScuC23v9KLRz1rs91HSokVE+PFWpUfezQPf3nCPrxHgTUVmETqVeZ9la+KtTtdyhwpfrjhGZ33Fisjg6CGbnZDNF7S2rsowDacHMQ7BFdTadjECMdE+KrOzpK+J+kUknwxJP5ZN3LN87iI+8OSlty1CKgdGGhQxNszeLhWH9H57Uxsw9OcUx1rD1OGx+a0fILNB8G1KrDisTR4eLvAlr7CngKuWzgsiJVVfXQtSfnWPGRmUne+T6bAz6piJa5IQJfCdOEy5ZLbuHF9uN3eGw1zp0Z1D2LG6vxjHFp7HSrdLciWuEUQRA1sJv5oK5j8P9lkBbvTHBZL8Zarht+Iry52U7ePO3thNSCGYOS9ijEPX+C7WSzXqD+KzNf4C8n0Ng1p7KPN3e+o5SuF3h9b2WVEg9Mv2UcPXpSjKGPExE/FSviZgLNXCJrc9oNeY12riHbyYC5F/5JXRCNSITNTLJ+eRaDNtgtFMc0HsFLJ6Tj2Vt7WC0W5/OZnlOq9G6RRFG0cP685pk3do+aeTQie+C7vX0FtVwIBH5r23aANgO+PuBbHnvmyvG5Wi5Jni3rMK5oRaIwLcK4oLHb0wLveUWzMI4pwnEZppk7lDFNWYbfnCwnfnOZRmGV0TSMU8eUpSUt43EbxL2kV7otkoosU1qQHMkyUiYkjxPcfh6H8UfS3+qioo4yTgua4EpzElcVTd1XML0tywSPRUGWSYl1T8myxPrnUZ2VBP/otEI4pktcK4oqRYJrUuBSpMiLJI7UrcOxp45Q4iLDoPogcmRJi6ex3vi+w368kqioXsCxDc2D+404Tp5rwzBJrrVuCP0wOvm/)**
>
> The Cesium Sandcastle provides an interactive environment for testing Cesium code.

This example basicly finish what you want. Notice that I use a tiny svg icon rahter than a loading element with full screen mask. Becasue that will interupt users when `tileLoad` event fired and the loading element may flash sometimes due to a quick load. So I think use a tiny icon like most video games auto-saving style may be better.

---

<div class="post-metadata">

**Author:** ![Nitsan\_Baleli](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/nitsan_baleli/32/7116_2.png) [@Nitsan\_Baleli](https://community.cesium.com/u/Nitsan_Baleli)\
**Post date:** [March 10, 2022, 9:42am UTC](https://community.cesium.com/t/3dtiles-loading-indication/17602/9 "2022-03-10T09:42:01Z")

</div>

Thank you very much, it’s exactly what I needed.

Ill add the relevant code here for future reference:

```auto

tileset.tileLoad.addEventListener(() => {
  loading.style.display = ''
})

tileset.allTilesLoaded.addEventListener(() => {
  loading.style.display = 'none'
})

```

---

<div class="post-metadata">

**Author:** ![sam.rothstein](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/sam.rothstein/32/6584_2.png) [@sam.rothstein](https://community.cesium.com/u/sam.rothstein)\
**Post date:** [March 14, 2022, 8:57pm UTC](https://community.cesium.com/t/3dtiles-loading-indication/17602/10 "2022-03-14T20:57:38Z")

</div>

Hi @Nitsan_Baleli and @Gu-Miao. I am happy to see that this was resolved! 🚀
