cesiumWorkerBootstrapper 在使用 RequireJS importScripts 时出错
Error in cesiumWorkerBootstrapper when it use RequireJS importScripts
我在将cesium 与openlayer 一起使用时遇到了问题。尝试显示 3D 地图时,出现以下错误:
Uncaught Error: importScripts failed for Workers/createVerticesFromQuantizedTerrainMesh at http://localhost:5866/Scripts/lib/openlayers/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js
http://requirejs.org/docs/errors.html#importscripts
at makeError (cesiumWorkerBootstrapper.js:formatted:102)
at Function.req.load (cesiumWorkerBootstrapper.js:formatted:805)
at Object.load (cesiumWorkerBootstrapper.js:formatted:697)
at b.load (cesiumWorkerBootstrapper.js:formatted:381)
at b.fetch (cesiumWorkerBootstrapper.js:formatted:370)
at b.check (cesiumWorkerBootstrapper.js:formatted:422)
at b.enable (cesiumWorkerBootstrapper.js:formatted:519)
at Object.enable (cesiumWorkerBootstrapper.js:formatted:649)
at b.<anonymous> (cesiumWorkerBootstrapper.js:formatted:512)
at cesiumWorkerBootstrapper.js:formatted:83
我使用的代码如下:
that.ol3d = new olcs.OLCesium({
map: that.map
});
scene = that.ol3d.getCesiumScene();
Cesium.Ion.defaultAccessToken = 'my-token';
scene.terrainProvider = new Cesium.CesiumTerrainProvider({
url: Cesium.IonResource.fromAssetId(1)
});
然后:
if (that.ol3d) {
that.ol3d.setEnabled(true);
that.isActivate = true;
}
Cesium 已下载到本地主机(位于我的 PC 上)。
研究问题,我发现异常发生在 cesiumWorkerBootstrapper.js 行 importScripts(i).
try {
importScripts(i),
e.completeLoad(t)
} catch (r) {
e.onError(makeError("importscripts", "importScripts failed for " + t + " at " + i, r, [t]))
}
有趣的是这段代码以前是有效的。现在停了。但是,如果我将铯连接到 ,系统又开始工作了。
如有任何帮助,我将不胜感激。
我找到了解决办法。问题是服务器正在返回一个带有错误响应 headers 的工作人员。 Content-Type 重要 "js; charset=UTF-8" 而不是 "javascript/application; charset=UTF-8"。我更改了服务器配置并且它起作用了。
enter image description here
我在将cesium 与openlayer 一起使用时遇到了问题。尝试显示 3D 地图时,出现以下错误:
Uncaught Error: importScripts failed for Workers/createVerticesFromQuantizedTerrainMesh at http://localhost:5866/Scripts/lib/openlayers/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js
http://requirejs.org/docs/errors.html#importscripts
at makeError (cesiumWorkerBootstrapper.js:formatted:102)
at Function.req.load (cesiumWorkerBootstrapper.js:formatted:805)
at Object.load (cesiumWorkerBootstrapper.js:formatted:697)
at b.load (cesiumWorkerBootstrapper.js:formatted:381)
at b.fetch (cesiumWorkerBootstrapper.js:formatted:370)
at b.check (cesiumWorkerBootstrapper.js:formatted:422)
at b.enable (cesiumWorkerBootstrapper.js:formatted:519)
at Object.enable (cesiumWorkerBootstrapper.js:formatted:649)
at b.<anonymous> (cesiumWorkerBootstrapper.js:formatted:512)
at cesiumWorkerBootstrapper.js:formatted:83
我使用的代码如下:
that.ol3d = new olcs.OLCesium({
map: that.map
});
scene = that.ol3d.getCesiumScene();
Cesium.Ion.defaultAccessToken = 'my-token';
scene.terrainProvider = new Cesium.CesiumTerrainProvider({
url: Cesium.IonResource.fromAssetId(1)
});
然后:
if (that.ol3d) {
that.ol3d.setEnabled(true);
that.isActivate = true;
}
Cesium 已下载到本地主机(位于我的 PC 上)。
研究问题,我发现异常发生在 cesiumWorkerBootstrapper.js 行 importScripts(i).
try {
importScripts(i),
e.completeLoad(t)
} catch (r) {
e.onError(makeError("importscripts", "importScripts failed for " + t + " at " + i, r, [t]))
}
有趣的是这段代码以前是有效的。现在停了。但是,如果我将铯连接到 ,系统又开始工作了。
如有任何帮助,我将不胜感激。
我找到了解决办法。问题是服务器正在返回一个带有错误响应 headers 的工作人员。 Content-Type 重要 "js; charset=UTF-8" 而不是 "javascript/application; charset=UTF-8"。我更改了服务器配置并且它起作用了。 enter image description here