Cesium,javascript 地球查看器,具有实用功能,可用于在创建 czml 对象时操作数据。在 C# 中创建 czml 以将其流式传输到 cesium 时,能够调用其中一些实用程序函数会很方便。我曾尝试使用侏罗纪来做到这一点,但并没有走得太远。这是我所拥有的:
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})");
然而,这并没有超过对 Cesium 的第一次调用。我确实得到了以下 JavaScriptExceptionsExecuteFile(@"Cesium.js")
但执行仍在继续,所以我不知道问题是否在于加载 Cesium.js 脚本:
TypeError:未定义无法转换为对象
TypeError:null 不能转换为对象
ReferenceError:未定义 XMLHttpRequest
ReferenceError:未定义 Blob
加载 Cesium.js 脚本后,第一次调用 Cesium 会engine.Evaluate()
崩溃:
ReferenceError:未定义铯