是否可以使用Jurassic从C#调用Cesium函数

时间:2019-03-28 03:40:44

标签: c# cesium jurassic

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:未定义铯

0 个答案:

没有答案