// 1. we can save the references to the entities that are labels in an array called 'labels'
var labels = [];
var promise = Cesium.GeoJsonDataSource.load('../../../cesiumLayers/sampledata/nextgen/World_Lables.geojson');
promise.then(function (dataSource) {
//viewer.dataSources.add(dataSource);
var entities = dataSource.entities.values;
for (var i = 0; i < entities.length; i++) {
var entity = entities[i];
var abc = entity.position.getValue();
var stPt = convertCartesianToCartographic(abc);
//entity.position = Cesium.Cartesian3.fromDegrees(stPt[0],stPt[1],stPt[2]);
// 2. Now, push each entity that's a label to our 'labels' array
labels.push(viewer.entities.add({
position: Cesium.Cartesian3.fromDegrees(stPt[0], stPt[1], stPt[2]),
label: {
text: entity.properties.name,
font: '16px Helvetica',
fillColor: Cesium.Color.WHITE,
outlineColor: Cesium.Color.BLACK,
outlineWidth: 5,
//pixelOffset : new Cartesian3(50.0, -50.0),
style: Cesium.LabelStyle.FILL_AND_OUTLINE,
translucencyByDistance: new Cesium.NearFarScalar(2.5e6, 1.0, 2.5e7, 0.0)
}
}));
}
});
// some code later...
for (var i = 0; i < labels.length; i++) {
// remove each entity that's a label
viewer.entities.remove(labels[i]);
}
Remove GeoJSON datasource as well as entities
Leave a reply

