CesiumGS / CesiumGS/cesium

Removing/Adding from EntityCollection doesn't work with events suspended

Open
#3,577 4 comments 1 reaction 0 assignees View on GitHub
category - entity onramping priority - high type - bug
Dominant language
JavaScript
Stars
15.7k
Forks
3.9k
Avg merge
4d 6h
Merged PRs (30d)
34

Description

In `KmlDataSource.js` when a `NetworkLink` is refreshed we remove old entities, then add new entities. We need to `resumeEvents()` then `suspendEvents()` in between the removes and adds or the entities don't update.

You can see the code here: https://github.com/AnalyticalGraphicsInc/cesium/pull/3538#discussion-diff-52938624R2420

I discovered this using the document https://github.com/tfili/geospatial-tools/blob/master/kmlServer/kml/nwl-interval.kml

This document refreshes a point's position by using a server that just moves a point every few seconds. The server can be found at https://github.com/tfili/geospatial-tools/tree/master/kmlServer.

Contributor guide

Open the contributing guide

Research direction

Start in KmlDataSource.js at the NetworkLink refresh path and review the referenced pull-request discussion. Reproduce the issue with nwl-interval.kml and its moving-point server, then verify that refreshed entities update correctly when removals and additions occur while events are suspended.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.