2013-05-22 1 views
2

Использование hermitespline в цезиевый проект, его возвращение мне ошибка, говорящая cartesian3 не определен. Может ли кто-нибудь помочь мне в том, что не так, и как включить этот cartesian3 и исправить эту ошибку.Ссылка ошибка в javascript

документация на hermitespline: - http://cesium.agi.com/Cesium/Build/Documentation/HermiteSpline.html

документация на cartesian3: - 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

Большая часть документированного примера кода Цезия предполагает, что вы используете require для использования в необходимых модулях, например Cartesian3. Но для простоты в стандартном примере Sandcastle используется объединенный, миниатюрный файл Cesium.js, который включает все модули под одним пространством имен цезия.

Решение простое, просто замените Cartesian3 на Cesium.Cartesian3 для этого примера. Вам нужно будет сделать то же самое для Cesium.HermiteSpline.

+0

еще одно сомнение, есть ли какие-либо Я могу импортировать стороннюю функцию в цезий. Как я могу использовать функцию, такую ​​как кривая или метка, из другого проекта в проект цезия? – user2409375

+1

Конечно, вы можете импортировать и запускать код из других проектов JavaScript вместе с Cesium, но они не могут отображать 3D-графику на холсте Цезия без какого-либо кода подключения. Например, вы можете использовать jQuery для размещения меток DOM поверх холста цезия, но вы не можете использовать трижды из коробки, чтобы добавить метки к цезию (если вы не поставите прозрачный холст ThreeJS поверх холста цезия, и синхронизировать камеры). – emackey