首页 / 浏览问题 / 三维GIS / 问题详情
插件客户端开发:打开场景失败
70EXP 2017年12月04日

在demo中能正常打开场景(scene.open),在visual studio 2015中,运行代码,scene.open总是返回false,调试半天,无法定位到原因,调试的时候这个方法就是一直返回false,请问一般是什么问题?

2 个回答

您将vs设为管理员身份打开,看看行不行。

另外,个人建议是直接用ie浏览器打开然后f12开启调试模式。
5,560EXP 2017年12月04日

我以将vs2015以管理员运行,然后直接运行项目(非vs的调试模式ctrl+F5)后,插件会加载不上,IE会报一个错误说我没有安装realspace控件(实际上是安装了的);vs以非管理员运行,然后直接运行项目(非vs的调试模式ctrl+F5)后,控件能加载上,但是会出现我上述问题(open返回false),这是我遇到感觉特别奇葩的问题,很纳闷的问题,劳烦帮我解决。如图

您说的这个直接运行项目,等同于直接用ie打开html文件吗?
就是直接运行项目,我们是mvc开发,不是一个html的文件,但是一个页面也相当于一个html页面,我单独运行你们的demo的html的代码是没问题的,但是vs中我的代码是一模一样的,就出现scene.open这个方法,打不开场景
scene.open("http://123.56.96.237:8090/iserver/services/3D-sample/rest/realspace", "scene_olympicgreen");我如何定位为什么这段代码返回false?
有种可能是js包不对造成的。您检查下您项目用的js包和iserver/iclient中的js包是否一致。
您好,我的js包是从iserver/iclient中来的,请问还有什么可能出现这种问题呢,我觉得太纳闷和奇葩了
vs调试,是将调试的文件复制到别的地方然后开始调试吧?这样的话各种相对路径没问题吗,尤其是js包的引用。
看你代码,你打开场景的地方,应该放在initcallback回掉函数里面。而你还没等场景初始化完就去打开场景肯定会失败的。你参考下咱们的范例underground.html里面就有说明
897EXP 2017年12月06日
sceneControl = new SuperMap.Web.UI.Controls.SceneControl($get("mapContainer"), initCallback, failedCallback);我那段代码是写在了加载场景完毕后的回调函数里面了哦,您看一下,我只是把initCallback和failedCallback直接写进去了哦
看你上面说的,你这个是在scene.open那返回false造成的。你看下你当前的场景 以3D形式浏览能正常浏览不?

如果不能正常浏览说明这服务有问题。这个时候你换一个能正常浏览的服务来打开尝试。

如果能正常浏览,我们这边需要远程查看下,需要你那边下载一个teamviewer12 版本的 ,然后发给我。
...