I am working on a small web app using Cesium, but I am concerned that new users may be frustrated by the time it takes to load base layer imagery. Users may also be confused by what they see on the screen until the imagery is loaded in detail.
The app is simple: it zooms down to focus on a large building, and a small number of primitives are loaded over this building. However at this level of zoom, it takes time for the Bing imagery to load all the tiles in sufficient detail.
This app currently does have a loading screen. It's simply a <div> with the id "loadingScreen" that is hidden by the script when the camera has settled:
viewer.camera.moveEnd.addEventListener(function() {
Ā Ā Ā Ā // the camera stopped moving
Ā Ā Ā Ā document.getElementById('loadingScreen').style.display = 'none';
});
Of course the problem here is the camera settles way before the imagery has loaded.
Is there a similar implementation that I can use, but that listens for when the imagery has been fully loaded? I couldn't find anything in the documentation under ImageryLayer or ImageryProvider, or here in the forums, but maybe I'm not looking for the right thing. Any help is greatly appreciated.
There isnāt currently a way to tell when tiles have loaded at a certain level.
Improving imagery loading is something thatās on our radar, but itās a pretty difficult problem to solve. After we finish our 3D tiles implementation, we might go back and take a closer look at some of these kinds of issues.
tileLoadProgressEvent example:
<code>
var helper = new Cesium.EventHelper();
helper.add(viewer.scene.globe.tileLoadProgressEvent, function (event) {
console.log("Tiles to load: " + event);
if (event == 0) {
//loading screen display=none
}
});
</code>
I'm sure you can do better, but I could find no useful examples in the documentation.
When that event is raised with the value 0, the terrain and imagery have loaded completely for the current view.
Kevin
Hello,
There isnāt currently a way to tell when tiles have loaded at a certain level.
Improving imagery loading is something thatās on our radar, but itās a pretty difficult problem to solve. After we finish our 3D tiles implementation, we might go back and take a closer look at some of these kinds of issues.
Best,
Hannah
Hello Cesium community,
I am working on a small web app using Cesium, but I am concerned that new users may be frustrated by the time it takes to load base layer imagery. Users may also be confused by what they see on the screen until the imagery is loaded in detail.
The app is simple: it zooms down to focus on a large building, and a small number of primitives are loaded over this building. However at this level of zoom, it takes time for the Bing imagery to load all the tiles in sufficient detail.
This app currently does have a loading screen. Itās simply a
with the id āloadingScreenā that is hidden by the script when the camera has settled:
viewer.camera.moveEnd.addEventListener(function() {
// the camera stopped moving
document.getElementById(āloadingScreenā).style.display = ānoneā;
});
Of course the problem here is the camera settles way before the imagery has loaded.
Is there a similar implementation that I can use, but that listens for when the imagery has been fully loaded? I couldnāt find anything in the documentation under ImageryLayer or ImageryProvider, or here in the forums, but maybe Iām not looking for the right thing. Any help is greatly appreciated.
ā
You received this message because you are subscribed to the Google Groups ācesium-devā group.
The ImageryProvider.ready property for the provider you pass to create the layer will be true when ready.
The ImageryProvider.ready property for the SingleTileImageryProvider is true when the image is loaded,Is there any property or function which can determine all tiles draw completely on globe?
Thatās a pretty old version! Taking a look at just the documentation, I canāt find anything immediately that would be equivalent. If you have access to the source, I would suggest looking at the Globe class and its associated members, like Globe._surface. Thatās where the loading queue is located, so you could watch those and wait for it to empty.
Hi Kevin:
Can I get tile loading progress in UnrealEngine?
I want make a progress bar to show progress on my loading panel.
But I canāt find any function or variable can get this value in CesiumUnrealPlugin.