
var viewer = new Cesium.Viewer('cesiumContainer');
var scene = viewer.scene;
//------ create CZML ------
var czml =
[{"id" : "document",
"version" : "1.0"
},{"id" : "Boston",
"label":{"text":"Boston"},
"position":{"cartographicDegrees":[-71.0589,42.3601,0]},
"description":"Boston is a city...",
},{"id" : "New York City",
"label":{"text":"New York"},
"description":"New York is a city...",
"position":{"cartographicDegrees":[-74.0059,40.7127,0]},
}];
var promise = Cesium.CzmlDataSource.load(czml);
promise.then(function(dataSource) {
viewer.dataSources.add(dataSource);
//------ Get the array of entities
var entities = dataSource.entities.values;
//------ Loop entities
for (var i = 0; i < entities.length; i++) {
var entity = entities[i];
var name = entity.label;
entity.label.translucencyByDistance = new Cesium.NearFarScalar(100000,1.0,500000,0.0);
}
}).otherwise(function(error){
//------ Display error
window.alert(error);
});
//------ Use SSEH to update to current description
var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
handler.setInputAction(function(click) {
var pickedObject = scene.pick(click.position);
if (Cesium.defined(pickedObject)) {
pickedObject.id.description = 'The current temperature is...';
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
Setting the description property should update it. Here is an example:
var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
handler.setInputAction(function(click) {
var pickedObject = scene.pick(click.position);
if (Cesium.defined(pickedObject)) {
pickedObject.id.description = 'New description';
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
pickedObject.id is the entity.