gpt4 book ai didi

javascript 返回 404 错误和未捕获的引用

转载 作者:行者123 更新时间:2023-11-28 02:16:22 24 4
gpt4 key购买 nike

enter image description here我得到了一个标记地球的代码,问题是当我尝试在本地服务器中运行它时,它给我一个 404 错误和 Uncaught ReferenceError 。代码如下:

<html>
<head>
<style>
@import url(bucket.css);
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="require.js" data-main="main"></script>
</head>
<body>
<div id="cesiumContainer" class="fullSize"></div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar"></div>
<script>
require(['Cesium', 'Button'], function(Cesium, Button)
{
"use strict";

function addLabel(scene, ellipsoid) {
Sandcastle.declare(addLabel); // For highlighting in Sandcastle.
var labels = new Cesium.LabelCollection();
labels.add({
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.10, 39.57)),
text : 'Philadelphia'
});
scene.getPrimitives().add(labels);
}

function setLabelFont(scene, ellipsoid) {
Sandcastle.declare(setLabelFont); // For highlighting in Sandcastle.
var labels = new Cesium.LabelCollection();
labels.add({
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.10, 39.57)),
text : 'Philadelphia',
// CSS font-family
font : '24px Helvetica',
fillColor : { red : 0.0, blue : 1.0, green : 1.0, alpha : 1.0 },
outlineColor : { red : 0.0, blue : 0.0, green : 0.0, alpha : 1.0 },
outlineWidth : 2,
style : Cesium.LabelStyle.FILL_AND_OUTLINE
});
scene.getPrimitives().add(labels);
}

function setLabelProperties(scene, ellipsoid) {
Sandcastle.declare(setLabelProperties); // For highlighting in Sandcastle.
var labels = new Cesium.LabelCollection();
var l = labels.add({
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.10, 39.57)),
text : 'Philadelphia'
});

l.setPosition(ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.10, 39.57, 300000.0)));
l.setScale(2.0);
scene.getPrimitives().add(labels);
}

function addLabelsInReferenceFrame(scene, ellipsoid) {
Sandcastle.declare(addLabelsInReferenceFrame); // For highlighting in Sandcastle.
var center = ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.59777, 40.03883));
var labels = new Cesium.LabelCollection(undefined);
labels.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(center);
labels.add({
position : new Cesium.Cartesian3(0.0, 0.0, 0.0),
text : 'Center'
});
labels.add({
position : new Cesium.Cartesian3(1000000.0, 0.0, 0.0),
text : 'East'
});
labels.add({
position : new Cesium.Cartesian3(0.0, 1000000.0, 0.0),
text : 'North'
});
labels.add({
position : new Cesium.Cartesian3(0.0, 0.0, 1000000.0),
text : 'Up'
});
scene.getPrimitives().add(labels);
}

function createButtons(widget) {
var ellipsoid = widget.centralBody.getEllipsoid();
var scene = widget.scene;
var primitives = scene.getPrimitives();

new Button({
label: 'Add label',
onClick: function() {
primitives.removeAll();
addLabel(scene, ellipsoid);
Sandcastle.highlight(addLabel);
}
}).placeAt('toolbar');

new Button({
label: 'Set font',
onClick: function() {
primitives.removeAll();
setLabelFont(scene, ellipsoid);
Sandcastle.highlight(setLabelFont);
}
}).placeAt('toolbar');

new Button({
label: 'Set properties',
onClick: function() {
primitives.removeAll();
setLabelProperties(scene, ellipsoid);
Sandcastle.highlight(setLabelProperties);
}
}).placeAt('toolbar');

new Button({
label: 'Add labels in reference frame',
onClick: function() {
primitives.removeAll();
addLabelsInReferenceFrame(scene, ellipsoid);
Sandcastle.highlight(addLabelsInReferenceFrame);
}
}).placeAt('toolbar');
}

var widget = new Cesium.CesiumWidget('cesiumContainer');

createButtons(widget);
addLabel(widget.scene, widget.centralBody.getEllipsoid());

Sandcastle.finishedLoading();
});

</script>
</body>
</html>

得到的错误如下:

1) GET http://localhost/Source/Widgets/CesiumWidget/CesiumWidget.css 404(未找到)

2) Uncaught ReferenceError: require is not defined 

谁能告诉我出了什么问题吗?我不明白代码中调用 CesiumWidget.css 文件的位置。因此,如果有人可以指导我,那将会很有帮助。

我尝试添加 require js 。但现在它又给了我一个错误。

3) 未捕获的语法错误:输入意外结束

检查图像,为什么我在该行中收到该错误。它显示的错误与该行中写入的内容没有任何关系。

最佳答案

2)我也遇到了同样的问题。事实上,您不必完全复制并粘贴 SandcaSTLe 实时编码界面中给出的示例。你应该:

  • 在头脚本中导入Cesium.js和SandcaSTLe:

    <script type="text/javascript" src="Cesium_root/Build/Cesium/Cesium.js"></script>
    <script type="text/javascript" src="Cesium_root/Apps/Sandcastle/Sandcastle-header.js"></script>

    Cesium_root 可以是本地位置也可以是远程位置,但如果您开始经常使用 Cesium,我建议您在服务器上安装它。

  • 只需将代码放入大括号之间,从 "use script;"SandcaSTLe.finishedLoading();

    <

1) 是bucket.css导入了缺失的css,因为它使用它来显示Cesium小部件。沙堡只是一个覆盖层。 2)也应该解决这个问题,因为bucket.css将从你在头部给他的Cesium_root开始寻找它。当然,前提是bucket.css位于正确的位置,即:Cesium_root/Apps/SandcaSTLe/templates。您应该在 html head 中更正它。

3)我也遇到了这个错误,如果我没记错的话,我想它已经通过2)解决了。

希望我说得足够清楚并且它对您有用。

关于javascript 返回 404 错误和未捕获的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16331379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com