Я загружаю файл CZML в свой файл app.js [оба файла представлены ниже].
Я могу получить доступ к полям имени и идентификатора, но не к полю позиции. Поле положения содержит картографические значения, такие как «время, долгота, широта, высота над уровнем моря». Я хотел бы получить доступ к наборам этих картографических значений, чтобы я мог их отобразить. Например, для приведенного ниже примера я хотел бы получить доступ к позиции [0] как «0,00, -4,6, -38,4,250». Как мне это сделать?
Я загружаю данные с помощью Cesium.CzmlDataSource.load, как показано ниже. Я также могу прикрепить новое поле, например «модель», но не получить доступ к полю позиции.
CZML-файл
[{
"id":"document",
"name":"test",
"version":"1.0",
},
{
"id":"field1",
"name":"one",
"position":
{
"cartographicDegrees": [
0.00,-4.6,-38.4,250,
0.00,-4.607,-38.491,249,
0.15,-4.6079,-38.48,249]
}
}
]
app.js
(function () {
"use strict";
var viewer = new Cesium.Viewer('cesiumContainer');
var readPromise = Cesium.CzmlDataSource.load('./test.czml');
// Save a new drone model entity
var testobj;
readPromise.then(function(dataSource)
{
viewer.dataSources.add(dataSource);
var ds = viewer.dataSources.get(0);
console.log("# of ds loaded: " + ds.entities.values.length);
console.log("ds id: " + ds.entities.values[0].id);
console.log("ds name: " + ds.entities.values[0].name);
// Output of following line - [object, Object] ???
console.log("ds name: " + ds.entities.values[0].position);
// Get the entity using the id defined in the CZML data
drone = dataSource.entities.getById('field1');
// Attach a 3D model
drone.model = { uri : './Source/SampleData/Models/drone.glb' };
});
}());