API参考http://support.supermap.com.cn:8090/webgl/Build/Documentation/index.html
一、使用场景
在给定的模型里面,选定其中某个模型返回其属性进行展示,以官方例子中的樱花树为例,选择场景中的某一事物,需要返回他的属性信息。
二、数据处理及发布
1、管网下载樱花树数据,用桌面打开,可以查看默认的场景信息。
2、给数据集添加缓存,操作如下
(1)选定数据集,右键生成缓存,缓存类型如果有OSGB,选择OSGB格式,文件类型选择s3m,选择缓存存放目录
生成目录如下
注:每个数据集添加的缓存文件加都会带有一个.scp文件,该文件是用来将缓存添加到图层中来
(3)添加缓存到图层
打开场景,在图层管理器中,右键选择“普通图层”,添加“三维切片缓存图层”,选择每个数据集对应的缓存文件.scp,打开即可,如果多个数据集,重复以上步骤即可。
(4)将模型数据表另存为属性表(官方支持说是为了数据服务中查询效率)
选择数据集,浏览属性表,全选打开的表记录,鼠标右键,另存为数据集,保存为属性表即可
(5)保存新的工作空间,Iserver发布,发布选择三维服务,如果有数据查询,再加上数据服务就可以了。
三、webgl开发
1、加载影像图层,超图已经做好了,直接上代码即可
根据项目喜好,添加即可
2、设置气泡位置(非必须,可以换成自己的弹窗,或者alert)
3、添加缓存图层(s3m)
图中的相机参数第一可以通过桌面获取,或者在Iserver中webgl浏览时打印出相机的对象console.log(promise.camera)
4、添加图层点击事件
查询点击的面或者范围的的图层ID(数据集中的SMID)进行sql查询,查出具体的面的 其他属性,空间和sql的结合。
5、sql查询
和二维查询的方式一样,调用官方的api进行查询,需要注意的是datasetNames: [“Cherry:” + “yhsdata”] 里面的数据集最好使用属性