图层选中监听

0 投票

版本9D

通过DatasourceConnectionInfo获取到iServer Rest DataSource,

从DataSource中获取到Dataset并添加到map的Layers中的index=0位置,

设置Layer的selectable属性为TRUE。

比如现在图层内容是一条河流


【1】请问我需要怎么做,才能点击选中这个Layer即这条河流呢?
【2】用什么监听Layer的选中状态?
【3】选中状态下有任何高亮或者UI提示吗?

8月 2, 2018 分类:  258次浏览 | 用户: riverchiefs2018 初出茅庐 (27 分)

1个回答

0 投票
1、要选中图层中的对象,除了设置图层可选择,还需要设置mapcontrol的操作状态,即用mapcontrol.setAction(Action.Select);

2、使用mapcontrol类下对象的选择监听事件可以监听layer中对象选中的状态;

3、对象选中后在地图中会高亮显示,也可以自定义高亮显示对象的风格;

具体接口使用参考帮助文档。
8月 3, 2018 用户: 王国新 名扬四海 (1,967 分)
1有设置mapcontrol.setAction(Action.Select) 但是点击仍然没有被选中
是因为线条太细 无法点击吗?

2mapcontrol下的对象 主要是GeometrySelectedListener吗 比如上面的河流 有别的监听类吗
1、首先要设置线图层可选择,选对象的时候点的位置尽量挨着线对象,如果还是点不中,可以以触屏点为中心点构建一个小的矩形框,然后和线图层进行空间查询,查出和小矩形框相交的线对象;

2、对象选中的监听目前只有这个监听方法。
...