javascript中的引用错误

问题描述:

在cesium项目中使用hermitespline时,它返回给我一个错误,说没有定义cartesian3。有人可以帮助我解决这个错误,以及如何包含这个笛卡尔3并纠正这个错误。javascript中的引用错误

文档上hermitespline: - 对cartesian3 http://cesium.agi.com/Cesium/Build/Documentation/HermiteSpline.html

文档: - http://www4.ncsu.edu/~ljsox/cesium/Cesium-b12/Build/Documentation/Cartesian3.html

它给我一个错误,当我尝试插入hermitespline给下面的代码示例代码: -

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"> <!-- Use Chrome Frame in IE --> 
    <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"> 
    <meta name="description" content="Use the Cesium Widget to start building new applications or easily embed Cesium into existing applications."> 
    <meta name="cesium-sandcastle-labels" content="Beginner"> 
    <title>Cesium Demo</title> 
    <script type="text/javascript" src="Sandcastle-header.js"></script> 
    <script type="text/javascript" src="../../Build/CesiumUnminified/Cesium.js"></script> 
    <script type="text/javascript" src="Sandcastle-warn.js"></script> 
</head> 
<body class="sandcastle-loading" data-sandcastle-bucket="bucket-plain.html" data-sandcastle-title="Cesium (standalone)"> 
<style> 
    @import url(templates/bucket.css); 
</style> 
<div id="cesiumContainer" class="fullSize"></div> 
<script id="cesium_sandcastle_script"> 
var widget = new Cesium.CesiumWidget('cesiumContainer'); 
</script> 
</body> 
</html> 

如果有人能够解决这个问题,这将是有益的。

+0

是否所有的脚本文件都能正确加载? – epascarello

+0

一切都正确加载,但正如我告诉他们说cartesian3没有定义,你能告诉我如何加载到脚本,使其工作 – user2409375

+0

你有这个运行的地方,我们可以看看?似乎Cesium.js没有加载。 –

大部分Cesium记录的示例代码都假设您使用require来要求在Cartesian3之类的所需模块中。但为了简单起见,默认的Sandcastle示例使用组合的缩小的Cesium.js文件,该文件包含单个Cesium名称空间下的所有模块。

解决方案很简单,只需将Cartesian3替换为Cesium.Cartesian3即可。您需要为Cesium.HermiteSpline本身做同样的事情。

+0

进行绘图,还有一点疑问,有没有我可以将铯的第三方功能导入。像我可以使用曲线或标签从一个不同的项目到铯项目? – user2409375

+1

您肯定可以从Cesium的其他JavaScript项目导入和运行代码,但是如果没有某种连接代码,它们无法将3D图形渲染到Cesium的画布上。例如,您可以使用jQuery将DOM标签放在Cesium画布的顶部,但您无法使用ThreeJS开箱即可将标签添加到Cesium(除非您在Cesium的画布上放置了透明的ThreeJS画布,并保持相机同步)。 – emackey