首页 / 浏览问题 / 三维GIS / 问题详情
通过发布的3D服务,改变建筑某个部件显示颜色、以及相关模型点击触发事件
1EXP 2023年05月12日

使用产品:supermap-iserver-10.0.1 操作系统:win10 x64
问题详细描述:

通过发布的3D服务如图:

图1

图2

如上图我通过iserver发布了一个三维的服务有以下问题,

1、如图2,我需要根据参数去改变11个模型中红绿显示颜色,例如:根据前端的参数改变第3个模型中红变成绿类似这样的操作应该怎么处理?

2、如图2,我需要根据提供的url图片地址去改变11个模型上方预留的空白显示,例如:根据前端的参数url图片地址,改变第三个模型中显示内容我应该怎么处理?

示例改变图:

3、如图2,我需要监听鼠标对11个模型操作事件,例如:鼠标移动到某个模型、单击某个模型......等等相关事件。

附言:有相关经验的还请不吝赐教,方便的话可以附上相关案例demo或相关文献资料

1个回答

您好,关于业务层面的操作,具体还是您自己去实现,这边根据问题提供一些参考:

1、如果是想要改变发布的服务模型本身的颜色,在前端是很难实现的,这和原始模型材质等有关;如果是通过entity、primitve等方式添加的模型是可以调用cesium接口去改变。

2、同1,是无法在前端直接对发布的服务模型本身修改,可以添加一些div或者文本等贴在模型上,实现填充展示,

参考http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#custom-bubble

3、cesium有鼠标监听事件,可以根据api或者一些技术文档进行操作。例如,通过鼠标点击模型,判断选中的模型后,在回调函数中进行业务操作。

鼠标事件参考:https://blog.csdn.net/u010358183/article/details/121610901

官网示例:http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#individualInformation

1,865EXP 2023年05月12日
...