2015-12-24 59 views
2

如何刪除cesiumjs折線,在卸下折線銫JS

var p = this.viewer.entities.add({ 
    polyline: { 
     material: new Cesium.PolylineGlowMaterialProperty({ 
      glowPower: 0.7, 
      color: Cesium.Color.ORANGE.withAlpha(0.7) 
     }), 
     positions: Cesium.Cartesian3.fromDegreesArrayHeights(points), 
     width: 15, 
    } 
}); 

我用entities.removeAll(),但它是在刪除從銫conatiner整個數據(包括模型,等等)。我只想刪除折線。

回答

0

entities.add保存返回值,這是對新創建的實體的引用。

var polylineEntity = viewer.entities.add({ 
    //... 
}); 

之後,您可以通過引用刪除特定的實體。

viewer.entities.remove(polylineEntity); 
0
var pathDone; //Store dataSource so later can be removed. 
viewer.dataSources.remove(pathDone,true); // Removing old data. 

Cesium.GeoJsonDataSource.load(data, { // Data contains geojson, linestring z. 
    stroke: Cesium.Color.HOTPINK, 
    fill: Cesium.Color.PINK.withAlpha(0.5), 
    strokeWidth: 2 
}).then(function(geoData){ 
    viewer.dataSources.add(geoData); //Adding new one. 
    pathDone=geoData;//Storing new reference. 
}); 

這爲我工作。