首页 / 浏览问题 / 其他 / 问题详情
三维demo中的例子的代码报错和数据对象的关系
70EXP 2017年11月16日

刚接触你们三维,现在有两个大的问题:

1)这句代码报错,获取场景服务的地址报错,说不支持这个get_serverAddress方法,8c(2017)的包sceneNameAddress[1]=sceneServiceInfo.get_serverAddress();

2)看了下三维服务的地址,scene.open(服务地址,场景名称)打开场景服务的时候,这个服务地址是http://localhost:8092/iserver/services/3D-sample/rest/realspace,这个服务地址下一级还有三级(datas,scenes,symbols),这个场景名称是scenes下的,为什么open输入的服务地址参数越过这一级?不是open(../rest/realspace/scenes,场景名称)?

3)关于SceneServicesList 这个我是否可以理解就是../rest/realspace/scenes这个的对象?SceneServiceInfo对应就是集合单个场景的服务信息?Layer3DServicesList对应单个场景下realspace/scenes/scene_olympicnight/layers的这个图层服务信息的集合?Layer3DServiceInfo 代表单个图层服务信息?Layre3Ds对应在场景中所有的图层体现的集合,Layre3D对应的是场景中对应的单个图层?那我想查询单个模型的信息对应的哪一个对象?

麻烦能细致回答一下上述问题,因为刚接触你们三维,需要对你们这个关系进行了解,开发文档说的比较官腔。

2 个回答

这几个问题,我不清楚你用的那个接口,建议是这样,你说文档看的不明白的话,建议查看‘类参考’,或者cesiumjs的接口文档,查看接口说明,scene.open是打开场景下的所有图层,还有一种方式是通过adds3mllayersscp的方式,一个一个加载图层,建议参考类参考的scence接口
匿名
2017年11月16日
这句代码报错,获取场景服务的地址报错,说不支持这个get_serverAddress方法,sceneServiceInfo.get_serverAddress();是怎么回事呢
你用的是那个接口
SceneServiceInfo
SceneServiceInfo
我觉得我们没有这个接口

开发文档里面有

你这个是插件客户端啊,明白,我是负责webgl的,我让我们的同事,回答你
您好。

1、首先您要确保您查阅的帮助文档和使用的包版本相同。不同的版本方法名可能不同。

2、后端就是这么设计的,会自动识别scenes。

3、查询模型的信息要分为是osgb缓存形式的模型还是数据集形式的模型。一般来说,因为三维浏览推荐生成缓存,然后一般是查询选中的模型的信息,所以是用layer3D.getAllFieldValueOfLastSelectedObject();

如果还有什么疑问欢迎继续交流哈。
5,560EXP 2017年11月16日
...