Cesium(JavaScript Globe查看器)具有实用程序功能,这些实用程序功能对于创建czml对象时的数据处理非常有用。当在C#中创建czml以流式传输到铯时,能够调用其中一些实用程序函数会很方便。我尝试使用侏罗纪来做到这一点,但距离还很远。这就是我所拥有的:
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的首次调用。我确实从ExecuteFile(@"Cesium.js")
获得了以下JavaScriptException,但是执行仍在继续,所以我不知道问题是否出在加载Cesium.js脚本上:
TypeError:无法将undefined转换为对象
TypeError:无法将null转换为对象
ReferenceError:未定义XMLHttpRequest
ReferenceError:未定义Blob
在加载Cesium.js脚本后,engine.Evaluate()
中对Cesium的首次调用崩溃:
ReferenceError:未定义铯