监听事件“objectSelected选择问题

0 投票

我的是一个场景中加载了3个图层,我注册了一个“objectSelected”监听事件,用来点击查询模型的属性信息,然后遇到了几个问题:question1.首次点击模型时,开发者工具中会报错:‘SCRIPT5007: 无法获取未定义或 null 引用的属性“Style3D” SuperMap.Web.Realspace.js, 行1 字符233964’;question2.跳过第一个错误之后需要再次点击目标模型才能显示信息,接着想要再点击查看其他目标模型,会出现第一次点击没有选中目标模型的问题,再点击一次才能选中,什么问题导致这样的问题呢?

9月 8, 2017 分类:  1054次浏览 | 用户: 黄龍 初出茅庐 (57 分)

1个回答

0 投票
 
已采纳
您好,您是811的插件吗?
9月 8, 2017 用户: 郭宇杰 才疏学浅 (11 分)
采纳于 9月 11, 2017 用户:黄龍
您是指iserver版本么?supermap_iserver_8.1.1a_win64?

您好,替换一下这个文件:

http://pan.baidu.com/s/1qXAinUk

谢谢,替换文件之后,第一个问题解决了,然后就是第二问题,我点击查询第二个模型的时候,第一次点击模型,有时候模型没有被选中,需要重新点一下才能成功,这个是我的图层的问题?还是什么问题?谢谢
建议相机距离拉近一点试试,远了确实有拾取不好的现象。
好的,谢谢,我还有一个小问题就是,getFeatureBySQLService = new SuperMap.REST.GetFeaturesBySQLService(
            QueryDataUrl, {
                eventListeners : {
                    "processCompleted" : onQueryComplete1,
                    "processFailed" : processFailed
                }
            });回调函数可不可以传递参数啊?

可以哈。具体您参考一下我们二维查询的范例即可。

http://support.supermap.com.cn:8090/iserver/iClient/forJavaScript/examples/examples.html#getFeatureBySQL

surprise这个好像没什么区别呀,我是这个意思,就是"processCompleted" : onQueryComplete1,成功的回调函数是"onQueryComplete1",在function onQueryComplete1(queryEventArgs){} ,这样是正常的,现在我想的是类似这样的效果"processCompleted" : onQueryComplete1(要传递的参数),然后在function onQueryComplete1(queryEventArgs,要传递的参数){使用要传递的参数},我之所以这么问是因为我的问题是需要加载场景之后对3个图层进行sql查询,得到数据集中的坐标信息,然后根据不同的图层显示不同的图片,所以我对sql查询函数进行循环,但是回调函数是同一个,所以我希望回调函数可以传递一个id参数标识是哪个图层那个数据集,从而确定加载哪个图片。

那就不好弄了哈,要自己改我们的js库才行,不推荐您修改。

查询参数应该是写了您查询的是哪个数据集,您看看能不能用上。

哦哦是这样啊,那好,我看看有没有其他的方法,实在步行就用最笨的方法一个一个去写crying,谢谢,麻烦您了heartyesheart

...