在官方沙盒中可以加载我的模型,但是自己写的代码就不行,根本不会触发Cesium.when(),希望能能得到帮助
沙盒代码
我的代码
您好,我这边引用的js等文件等都没问题,但是很奇怪的是,我本地代码加载部署在本地的iserver中CBD的模型可以加载,但是加载我自己发布上去的模型就不行了(一开始我发现这种情况我以为是我数据问题,所以去官网加载自己模型试试,结果加载出来了)。下面是我模型地址,请您帮忙看一下。
modelurl = 'http://106.14.205.248:8090/iserver/services/3D-DaXue/rest/realspace'
访问地址是ip+端口号访问的,并不是直接当成文件在浏览器中访问的。只留下一个scene.open后还是一样的不行。不过它能读取到这些数据,但是不会像CDB一样加载三维切片。
下面是加载CDB的
cbd链接 大体位置在北京
http://106.14.205.248:8090/untitled/demo-01.html
我自己的链接 大体位置在山东淄博张店区
http://106.14.205.248:8090/untitled/demo-02.html
cbd链接 带有Cesium.when方法的
http://106.14.205.248:8090/untitled/demo-03.html
我自己的 带有Cesium.when方法的
http://106.14.205.248:8090/untitled/demo-04.html
嗯,对呀,就是一样的代码换成我自己的模型地址就不行了,但是您可以在 http://support.supermap.com.cn:8090/webgl/examples/editor.html#S3MTiles_jingmo 中,将这个例子的模型的地址替换为我的地址试一下,它可以加载出来T-T(http://106.14.205.248:8090/iserver/services/3D-DaXue/rest/realspace)。
还有我是刚刚初学,还不知道如何编写缩放到图层范围,不过在上面的官网例子中是加载图层后自动缩放过去的,您可以在上面的官网的沙盒中修改代码为这样看看。
function onload(Cesium) { var viewer = new Cesium.Viewer('cesiumContainer'); var scene = viewer.scene; try{ var promise = scene.open('http://106.14.205.248:8090/iserver/services/3D-DaXue/rest/realspace'); Cesium.when(promise,function(layer){ },function(e){ }); } catch(e){ } }