首页 / 浏览问题 / 三维GIS / 问题详情
漫游状态下鼠标指针样式的切换
64EXP 2018年01月24日
我在场景的追踪图层中添加了几个对象,我想要实现结果是,鼠标正常是漫游状态的一只手的状态,当我鼠标移动到这些对象上时鼠标指针变成select状态,然后鼠标指针离开对象再次变成漫游的手的状态,要怎么添加监听?

1个回答

您好,您用的是插件客户端吧,给您说一个思路,您实践一下。

1、扩展一个action。可参考:

http://support.supermap.com.cn:8090/plugin/online/SuperMap/samplecode/samplecode/samples/SceneView3D/MyAction.html

2、在自定义的action中注册鼠标的移动事件,在鼠标移动时获取鼠标所在位置跟踪层对象。获取跟踪层对象参考:http://support.supermap.com.cn:8090/plugin/online/SuperMap/samplecode/samplecode/samples/Query3D/Hittest.html

3、根据2的结果,来设置鼠标状态。

3,389EXP 2018年01月24日
那我添加的对象是工作空间中另外一个场景中的图层,在当前场景中用scene.get_layer3Ds().add()方法添加进来的,图层类型是OSGB,好像‘hitTest(point)’方法用不了了,有什么其他方式来实现我这个操作么,在api中没找到相关的接口以及思路
hitTest(point)是针对跟踪层的哈。OSGB缓存的话识别不了。

如果是缓存数据您这个需求就不好弄了,因为在插件客户端,缓存数据只能鼠标点一下才可以判断有没有东西。在移动过程点一下,肯定就不友好了。

如果可以,建议您了解一下WebGL客户端。

哦哦是这样啊,那谢谢前辈啊yes

...