Hi,
I’ve been stuck on the problem for days and hoping someone could help.
I have an application that loads a data source, then I want to remove and destroy it and then add another. Here is my code:
// Get some dataSource1
// Add the dataSource1
viewer.dataSources.add(dataSource1);
// Remove and destroy all data sources
viewer.dataSources.removeAll(true);
// Add in another the dataSource2
viewer.dataSources.add(dataSource2);
// Also fails if I just try to readd the same dataSource1
I have tried setting viewer.dataSources = new Cesium.DataSourceCollection() right after destroying the dataSources and a few other things, but no luck.
Is this a known issue or am I just doing something obviously wrong.
Here is the exact error I get:
Cesium.js:80 An error occurred while rendering. Rendering has stopped.
TypeError: Cannot read properties of undefined (reading ‘length’)
TypeError: Cannot read properties of undefined (reading ‘length’)
at DataSourceDisplay.update (https://cesium.com/downloads/cesiumjs/releases/1.95/Build/Cesium/Cesium.js:72:2165906)
at Viewer._onTick (https://cesium.com/downloads/cesiumjs/releases/1.95/Build/Cesium/Cesium.js:80:269272)
at Event.raiseEvent (https://cesium.com/downloads/cesiumjs/releases/1.95/Build/Cesium/Cesium.js:63:36277)
at Clock.tick (https://cesium.com/downloads/cesiumjs/releases/1.95/Build/Cesium/Cesium.js:65:314944)
at CesiumWidget.render (https://cesium.com/downloads/cesiumjs/releases/1.95/Build/Cesium/Cesium.js:80:166311)
at n (https://cesium.com/downloads/cesiumjs/releases/1.95/Build/Cesium/Cesium.js:80:152059)
CesiumWidget.showErrorPanel @ Cesium.js:80
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
requestAnimationFrame (async)
requestAnimationFramePolyFill @ Cesium.js:72
n @ Cesium.js:80
Cesium.js:72 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘add’)
at DataSourceDisplay._onDataSourceAdded (Cesium.js:72:2167623)
at Event.raiseEvent (Cesium.js:63:36277)
at Cesium.js:72:2018300