首页 > 解决方案 > 是否可以使用侏罗纪从 C# 调用铯函数

问题描述

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

标签: c#cesiumjurassic

解决方案


推荐阅读