2013-05-22 2 views
2

세슘 프로젝트에서 hermitespline을 사용하면 cartesian3이 정의되지 않았다는 오류가 표시됩니다. 누군가가 잘못된 점과이 cartesian3을 포함하고이 오류를 바로 잡는 방법을 알려줄 수 있습니까? 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가로드되지 않는 것 같습니다. –

답변

2

대부분의 세슘이 문서화 한 예제 코드는 을 사용하여 필요한 모듈에 Cartesian3을 요구한다고 가정합니다. 그러나 단순화하기 위해 기본 Sandcastle 예제는 단일 Cesium 네임 스페이스 아래의 모든 모듈을 포함하는 결합 된, 축소 된 Cesium.js 파일을 사용합니다.

해결책은 간단합니다.이 예제에서는 Cartesian3Cesium.Cartesian3으로 바꿉니다. Cesium.HermiteSpline 그 자체에 대해 동일한 작업을 수행해야합니다.

+0

의심의 여지가 있습니다. 방법은 세슘에 타사 기능을 가져올 수 있습니다. 마찬가지로 다른 프로젝트의 세슘 프로젝트에 커브 또는 라벨과 같은 기능을 사용할 수 있습니까? – user2409375

+1

세슘과 함께 다른 JavaScript 프로젝트에서 코드를 가져오고 실행할 수는 있지만 일종의 연결 코드없이 3D 그래픽을 세슘의 캔버스로 렌더링 할 수는 없습니다. 예를 들어 jQuery를 사용하여 Cesium 캔버스 위에 DOM 레이블을 붙일 수 있지만 세슘에 레이블을 추가하기 위해 ThreeJS를 사용할 수는 없습니다 (세슘 캔버스 위에 투명한 ThreeJS 캔버스를 놓지 않는 한, 카메라를 동기화 상태로 유지). – emackey

관련 문제