Можно ли вызывать функции цезия из 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: Цезий не определен

0 ответов

Другие вопросы по тегам