首页 / 浏览问题 / 三维GIS / 问题详情
webgl中三维数据服务数据集查询结果高亮问题
43EXP 2020年01月03日

使用产品:iClient3D for WebGL:win7 x64

问题详细描述:我有两个三维服务 分别作了查询功能,一个的查询结果是这样的(如图1),我通过geometry的points可以构建实体,实现高亮,但另一个查询的结果是这样的(如图2),该怎么高亮呢

图1

图2

2 个回答

您的这个数据服务里面是模型数据集,模型数据集我们的做法不是通过查询到对象然后再前端去加载;而是将模型数据集生成S3M或者S3MB格式的缓存,然后再前端加载缓存图层。加载好了缓存图层后,通过查询到对应的SMID,此时通过方法S3MTilesLayer.setObjsColor(ids,color)去高亮显示,或者S3MTilesLayer.setSelection(id)。更多关于图层的方法请查看http://support.supermap.com.cn:8090/webgl/Build/Documentation/S3MTilesLayer.html?classFilter=S3MTilesLayer

897EXP 2020年01月03日
你好,请问模型数据集前端高亮是不是只能通过setObjsColor或者setSelection方法,只有面数据集(REGION)才能提取坐标点构建实体?
第一纠正你两个概念,模型数据集和面数据集是不一样的。模型数据集里面存的是模型,而面数据集里面存的是面对象。
第二模型数据集前端高亮只能通过我说的那两个方法。如果是面对象,可以用前面的两个方法,同时也可以通过查询获取到面的节点,然后构建一个polygon在前端显示

非常感谢,那在请问geometry的type具体有哪些类型,在哪可以找到说明,我查找了iServer 10i的资料数据集有这些类型,没有找到GEOMODEL3D

您好,第二个查询的数据集是模型数据集,只能查询属性的,您是想在前端高亮这个模型吗?直接通过layer.setObjColor(),根据id给对应模型设置一个高亮颜色就行了
882EXP 2020年01月03日
...