Failed to load resource: the server responded with a status of 401 () CesiumTerrainProvider.js:151 Uncaught (in promise) RequestErrorEvent
时间: 2023-10-19 11:26:59 浏览: 161
vue打包npm run build时候界面报错的解决
这个错误通常表示请求高程数据的URL需要验证用户身份,但没有提供有效的验证信息。解决这个问题的方法是提供正确的验证信息,以便服务器可以验证用户身份,并提供高程数据。
如果你使用的是Cesium Ion提供的高程数据服务,可以按照以下步骤提供验证信息:
1. 在Cesium Ion网站上创建一个账户,并登录。
2. 创建一个访问令牌,用于访问高程数据服务。具体步骤如下:
a. 在Cesium Ion网站上,进入"Access Tokens"页面。
b. 点击"New Access Token"按钮,创建一个新的访问令牌。
c. 选择"Asset"权限,并在"Asset"下拉菜单中选择你需要访问的高程数据服务。
d. 点击"Create Access Token"按钮,创建访问令牌。
3. 在你的Cesium应用程序中,使用访问令牌作为高程数据服务的验证信息。具体步骤如下:
```javascript
var accessToken = 'YOUR_ACCESS_TOKEN_HERE';
var terrainProvider = new Cesium.CesiumTerrainProvider({
url: 'https://assets.cesium.com/1/terrain/world-terrain-quantized-mesh',
requestVertexNormals: true,
requestWaterMask: true,
accessToken: accessToken // 将访问令牌作为验证信息
});
var viewer = new Cesium.Viewer('cesiumContainer', {
terrainProvider: terrainProvider
});
```
在上面的代码中,我们创建了一个访问令牌,并将其作为验证信息传递给了`CesiumTerrainProvider`对象。这样可以确保在请求高程数据时提供了有效的验证信息,避免出现401错误。
你可以将上面的代码添加到你的项目中,替换掉原来的高程数据配置,然后重新运行项目,看看是否成功加载高程数据。
阅读全文