Closed dreamthat closed 3 years ago
已重现,解决中,感谢反馈。
@dreamthat 是EarthSDK的问题。我这边在联系他们反馈解决,您着急的话建议下载他们前一个版本(v1.7.2)。
@dreamthat 大意了,刚测了一下,以前版本还真没问题,我再看看咋回事。
@dreamthat
查出原因了。
上午请教了CesiumLab的唐总说是 EarthSDK的问题, 因为skyBox配置成了false,和EarthSDK中的部分代码存在冲突。
估计这个问题 earthsdk 一直存在。 但vue-cesium之前版本没有问题的原因是 vc-viewer组件上的skyBox的类型是 Object,没给默认值,初始化的时候options的skyBox是undefined。
后来我发现官方文档上skyBox还支持传false,我就把类型skyBox改成[Object, Boolean]了,也没给默认值,但发现vue把默认值处理成false了。 传到earthsdk正好遇到这问题。
我目前还是把skyBox skyAtmosphere的默认值改为 undefined,测试已经没了这个问题。
用下个版本即可。
目前版本可以给:skyBox ="undefined" :skyAtmosphere="undefined" 暂时避免。
https://codesandbox.io/s/vue-cesium-start-forked-cigy9?file=/src/main.js
已解决,关闭了哈,还有问题的话请再反馈。
VueCesium version
3.0.1-beta.12
OS/Browsers version
Win10/Edge
Vue version
3.2.7
Reproduction Link
https://codesandbox.io/s/vue-cesium-start-forked-x1434?file=/src/main.js:320-369
Steps to reproduce
更新Vue-Cesium至3.01-beta 12以上版本, 加载EarthSDK部分代码(main.js):
app.use(VueCesium, { cesiumPath: 'http://earthsdk.com/v/last/XbsjEarth/XbsjEarth.js' });
启动项目后不能正常展示页面。
What is Expected?
浏览器里能正常展示数字地球
What is actually happening?
浏览器端报如下错误: Uncaught (in promise) TypeError: Cannot set property 'show' of undefined at Object._0x16a7f9. [as xbsjCreateViewer] (:8080/vrs/js/XbsjCesium/XbsjCesium.js:9)
at _0xf03b73 (:8080/vrs/js/XbsjEarth/XbsjEarth.js:1)
at new _0x4f3c3a (:8080/vrs/js/XbsjEarth/XbsjEarth.js:1)
at eval (webpack-internal:///./node_modules/vue-cesium/lib/index.esm.js:187)
at Generator.next ()
at a (webpack-internal:///./node_modules/vue-cesium/lib/index.esm.js:187)