这时点击该地址会报不安全的网络
其实是因为早期的cesium版本中没有设计安全https皮肤地址
只需要更新最新的cesium即可,但是往往情况复杂不予许随便更新,又或者怕更新后出现新问题
那么只需要对之前的cesium.js文件进行修复即可
修复也是很简单
打开node_modules/cesium/Build/CesiumUnminified/Cesium.js
搜索Imagery/Metadata并找到如下代码
var metadataResource = this._resource.getDerivedResource({ url:'REST/v1/Imagery/Metadata/' + this._mapStyle, queryParameters: { incl: 'ImageryProviders', key: this._key } });并将其改为(加上参数uriScheme:"https")
var metadataResource = this._resource.getDerivedResource({ url:'REST/v1/Imagery/Metadata/' + this._mapStyle, queryParameters: { incl: 'ImageryProviders', key: this._key, uriScheme:"https" } });此文件只是未压缩的给开发者看的,真正修改还需要找到
node_modules/cesium/Build/Cesium/Cesium.js
找到
{url:"REST/v1/Imagery/Metadata/"+this._mapStyle,queryParameters:{incl:"ImageryProviders",key:this._key}})
改为
{url:"REST/v1/Imagery/Metadata/"+this._mapStyle,queryParameters:{incl:"ImageryProviders",key:this._key,uriScheme:"https"}})
即可
不建议修改node_modules文件因为这样在重新获取包时修改将不复存在,并且不易维护
所以这里直接使用gulpfile.js修改打包好的文件
在对应的位置替换掉
.replace('{incl:"ImageryProviders",key:this._key}', '{incl:"ImageryProviders",key:this._key,uriScheme:"https"}');
这样运行时的报错就不见了
发表评论: