首页 / 浏览问题 / 三维GIS / 问题详情
三维服务layer读取不到
16EXP 2018年03月15日

使用产品:iserver 9D 操作系统:win7 x64

问题详细描述:

1.先说下我想做的内容,我目前已经在地图上通过viewer.entities.add添加了2个polygon面,目前我想对这2         个polygon进行点击自定义弹窗,所以我想到通过将这2个面只做到场景中编辑好属性通过viewer.pickEvent.addEventListener对feature进行辨别字段内容,进行弹窗,但是我通过官方的CBD的那个例子场景中添加了2个三维的面,也设置了场景缓存,发布出来调用发现我这个三维的面层读取不到,这是什么原因啊如图

或者有其他什么比较简便的方法可以对自定义的绘制的面层进行弹窗的操作,谢谢了

1个回答

您好,查询对象属性有两种方式,一种方式是把矢量数据发布成数据服务(不是三维Rest服务),去做查询,可参考范例http://support.supermap.com.cn:8090/webgl/examples/editor.html#S3MTiles

另外一种方式是添加实体对象,然后查询实体对象的属性,例如您使用的viewer.entities.add()添加了两个实体对象,这些实体对象是存在内存里面的,是不存到某个图层里面的,所以不需要用到数据服务,直接用viewer.pickEvent.addEventListener事件查询相关属性就行了。

您的情况是把两种方式杂糅了起来,看您选哪种方式比较合适。

5,985EXP 2018年03月15日
viewer.pickEvent.addEventListener并不能点击自定义的polygon啊

可以的,返回的是selectedEntity : Entity,不是feature,您也可以试试selectedEntityChanged : Event这个事件,可能您更好理解。

您好,关于昨天那个问题我用selectedEntityChanged : Event,可以触发点击事件,但是还是弹不出窗体,我参考了例子倾斜摄影属性查询的内容,发现其DIV一开始时隐藏的,点击之后又visibility: visible了,而我的确一直处在visibility: hidden;查看DIV也没有写这个所以我想请问:

1.这是在哪里设置的,为啥看不到点击后这个属性是在哪里去做变化改变的,

2.例子中viewer.customInfobox = infoboxContainer; 我并没有在viewer看到这个事件,请问在哪里可以看到

3.结合倾斜摄影属性查询例子针对自定义面的弹窗我是这样写的如图

是否有错误呢    ,再次麻烦了

...