Можно ли вызывать функции цезия из C#, используя юрский период
Cesium, средство просмотра глобуса javascript, имеет вспомогательные функции, которые полезны для манипулирования данными при создании объектов czml. При создании czml в C# для потоковой передачи в цезий было бы удобно иметь возможность вызывать некоторые из этих служебных функций. Я пытался сделать это с помощью юрского периода, но не очень далеко. Вот что у меня есть:
var engine = new Jurassic.ScriptEngine();
engine.ExecuteFile(@"Cesium.js");
var heading = 1.570794347807811;
var pitch = 0;
var roll = 0;
var lat = -36.4301305554453;
var lon = 137.009308186922;
var alt = 10;
var center = engine.Evaluate($"Cesium.Cartesian3.fromDegrees({lon}, {lat}, {alt})");
var hpr = engine.Evaluate($"new Cesium.HeadingPitchRoll({heading},{pitch}, {roll});");
var quaternion = engine.Evaluate($"Cesium.Transforms.headingPitchRollQuaternion({center}, {hpr})");
Однако это не проходит первый звонок в Цезий. Я получил следующие исключения JavaScriptException от ExecuteFile(@"Cesium.js")
но выполнение продолжилось, поэтому я не знаю, заключается ли проблема в загрузке скрипта Cesium.js:
TypeError: undefined не может быть преобразовано в объект
Ошибка типа: ноль не может быть преобразован в объект
ReferenceError: XMLHttpRequest не определен
ReferenceError: Blob не определен
После загрузки скрипта Cesium.js первый звонок в Cesium engine.Evaluate()
падает с:
ReferenceError: Цезий не определен