2017-07-25 3 views
-1

Ich benutze die Sandcastle-Schnittstelle von Caesium angeboten, aber meine Frage kann erweitert werden (ich denke) zu jedem Javascript-Benutzer. Mein Ziel besteht darin, eine czml-Datei (könnte auch eine .json-Datei sein) zu laden und den Inhalt in eine Variable zu speichern, um einfach auf die Tags zugreifen zu können.Laden Sie czml/json Daten aus der Datei und speichern Sie sie in Variable

Hier gibt es ein kleines Beispiel: nehmen wir an, dass die Datei (test.czml) Inhalt ist folgende:

[{ 
    "id" : "document", 
    "name" : "Basic CZML billboard and label", 
    "version" : "1.0" 
}, { 
    "id" : "Point A", 
    "name" : "Point A", 
    "label" : { 
     "fillColor" : { 
      "rgba" : [255, 255, 255, 255] 
     }, 
     "font" : "12pt Lucida Console", 
     "horizontalOrigin" : "LEFT", 
     "pixelOffset" : { 
      "cartesian2" : [8, 0] 
     }, 
     "style" : "FILL", 
     "text" : "Point A", 
     "showBackground" : true, 
     "backgroundColor" : { 
      "rgba" : [112, 89, 57, 200] 
     } 
    }, 
    "position" : { 
     "cartographicDegrees":[ 
      0, 0, 0 
     ] 
    } 
}, { 
    "id" : "Point B", 
    "name" : "Point B", 
    "label" : { 
     "fillColor" : { 
      "rgba" : [255, 255, 255, 255] 
     }, 
     "font" : "12pt Lucida Console", 
     "horizontalOrigin" : "LEFT", 
     "pixelOffset" : { 
      "cartesian2" : [8, 0] 
     }, 
     "style" : "FILL", 
     "text" : "Point B", 
     "showBackground" : true, 
     "backgroundColor" : { 
      "rgba" : [112, 89, 57, 200] 
     } 
    }, 
    "position" : { 
     "cartographicDegrees":[ 
      0, 10, 0 
     ] 
    } 
}] 

Mein Ziel wäre es, den Inhalt in der folgenden Art und Weise zuzugreifen:

var czml = function_to_load_data(test.czml) 
console.log(czml[1].id) 

konnte ich die Daten laden, indem Sie die folgenden Befehle:

var czml = Cesium.CzmlDataSource.load('../../SampleData/simple.czml')); 

Aber Dieser Ansatz funktioniert nicht so, wie ich es möchte. Was ist ein kluger und eleganter Weg, um mein Ziel zu erreichen?

Antwort

0

Mögliche Art und Weise konnte ich meine Lösung in Caesium erreichen:

var viewer = new Cesium.Viewer('cesiumContainer'); 

Cesium.loadJson('../../SampleData/test.czml').then(function(jsonData) { 

    console.log(jsonData[1].id); 

}).otherwise(function(error) { 
    // an error occurred 
}); 
Verwandte Themen