Je souhaite engendrer un certain nombre de copies de shape1
et shape2
dans différentes positions qui ne seront connues qu'à l'exécution, et de pouvoir modifier par programme leurs autres propriétés.Clonage et modification des paquets CZML
Quelle est la méthodologie préférée pour faire référence, cloner et modifier des paquets CZML?
var czml = [{
"id" : "document",
"name" : "CZML Geometries: Cones and Cylinders",
"version" : "1.0"
}, {
"id" : "shape1",
"name" : "Green cylinder with black outline",
"position" : {
"cartographicDegrees" : [-100.0, 40.0, 200000.0]
},
"cylinder" : {
"length" : 400000.0,
"topRadius" : 200000.0,
"bottomRadius" : 200000.0,
"material" : {
"solidColor" : {
"color" : {
"rgba" : [0, 255, 0, 128]
}
}
},
"outline" : true,
"outlineColor" : {
"rgba" : [0, 0, 0, 255]
}
}
}, {
"id" : "shape2",
"name" : "Red cone",
"position" : {
"cartographicDegrees" : [-105.0, 40.0, 200000.0]
},
"cylinder" : {
"length" : 400000.0,
"topRadius" : 0.0,
"bottomRadius" : 200000.0,
"material" : {
"solidColor" : {
"color" : {
"rgba" : [255, 0, 0, 255]
}
}
}
}
}];
var dataSource = Cesium.CzmlDataSource.load(czml);
viewer.dataSources.add(dataSource);
Merci; clarifie beaucoup. "Vous ne pouvez pas cloner directement un' Entity', mais vous pouvez ajouter 'new Entity ({options ...})' à un 'EntityCollection' à partir d'un objet d'options génériques qui peut être sauvegardé et réutilisé plusieurs fois. " Comment extraire les propriétés d'un objet 'Entity' créé à partir d'un paquet CZML (à enregistrer dans un objet d'options générique pour réutilisation)? S'il vous plaît supporter avec ma stupidité; Je viens du pays du C et du C++ et je ne connais pas bien les idiomes de JS. – Slaiyer
@Slaiyer ce n'est pas un chemin de code typique, et le césium ne le supporte pas directement. Une option peut être d'ignorer complètement CZML et de faire en sorte que le serveur fournisse des objets de modèle de création d'entité à la place. Une autre option pourrait être d'utiliser [CzmlDataSource.process] (http://cesiumjs.org/Cesium/Build/Documentation/CzmlDataSource.html#process) pour réintégrer un paquet czml avec l'ID modifié, dans une boucle. – emackey