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})");
Однако это не проходит после первого звонка в Цезий.Я получил следующие JavaScriptExceptions от ExecuteFile(@"Cesium.js")
, но выполнение продолжилось, поэтому я не знаю, заключается ли проблема в загрузке скрипта Cesium.js:
TypeError: undefined не может быть преобразован в объект
TypeError: Нулевое значение не может быть преобразовано в объект
ReferenceError: XMLHttpRequest не определено
ReferenceError: BLOB-объект не определено
После загрузкиСценарий Cesium.js при первом вызове Cesium в engine.Evaluate()
завершается с:
ReferenceError: Цезий не определен