2016-10-14 4 views
0

Ich sende Punkte an eine Cäsiumkarte und versuche, die Punkte von einem Ort zum anderen zu bewegen. Ich versuche, die Karte zu löschen, bevor ich meine Punkte hinzufüge, aber was ich habe, funktioniert nicht. Was ist der beste Weg, um die Karte von Punkten, etc. Es scheint, als ob es funktionieren würde, aber die einzige Möglichkeit, die richtigen Punkte zu sehen, ist die Aktualisierung des Browsers. DankSo löschen Sie eine Cäsiumkarte, bevor Sie Punkte neu zeichnen

var viewer = new Cesium.Viewer('cesiumContainer', { infoBox : false }); 
var scene = viewer.scene; 
var points = scene.primitives.add(new Cesium.PointPrimitiveCollection()); 
var entities = viewer.entities; 
var entity = ""; 

...

entities.removeAll(); 
points.removeAll(); 
+0

Können Sie ein vollständigeres Codebeispiel bereitstellen, das das angezeigte Problem reproduzieren wird? – emackey

+0

haben Sie versucht, scene.primitivs.removeAll() aufzurufen? – JasonM1

Antwort

0

ich mit Caesium experimentiert und hier ist, wie es funktioniert für mich - (Hinweis: Im Folgenden ist nicht der vollständige Code, sondern eine Probe als Referenz)

nennt loaddata in einem Intervall von 10 Sekunden und jedes Mal, wenn ich einen viewer.entities.removeAll();

Probe Ref Code tue:

function plotGeoPoints(){ 
    Cesium.loadJson(APIURL).then(function(data) { 
    pdata = data; 
    for (var i = 0; i < pdata.length; i++){ 
      viewer.entities.add({ 
       position : Cesium.Cartesian3.fromDegrees(pdata[i].longitude, pdata[i].latitude), 
       point : { 
        pixelSize : 5, 
        color : CESIUM.Color.RED, 
        outlineWidth:0 
       } 
     }); 
    } 
    } 
} 

function loadData(){ 
    viewer.entities.removeAll(); 
    plotGeoPoints(); 
} 
} 

loadData(); 
intervalId = setInterval(loadData,10000);