首页 / 浏览问题 / 组件GIS / 问题详情
在iobjects中如何实现选择集中选中的单个要素高亮显示
11EXP 2022年05月16日

使用产品:iobjects .net

问题详细描述:

实现类似于idesktop中选择多个元素,然后点击其中一个元素,在选择集中高亮显示被选中的单个元素,如下图所示:

1个回答

您好,根据您的需求描述,建议您参考以下流程:

  1. 给 SceneControl 挂载 ObjectSelected 事件,该事件在三维场景中选中元素时触发,获取当前选中元素的SmID;
  2. 根据选中元素的SmID,在数据集中匹配对应的SmID,在元素展示列表中高亮对应的SmID单元项。

希望可以帮到您。

2,253EXP 2022年05月17日
这是二维的。

我选中多个对象,构成一个选择集,然后我在选中的对象中再选择某个对象,保持选择集不变,并将该对象标为红色。我主要不知道如何实现将该选中对象高亮成红色。

您好,是二维的话也类似,MapControl 提供了 GeometrySelected 事件用于选中要素时触发。

对象高亮的方式建议您参考以下流程:

  • 克隆选中的要素对象;
  • 给克隆的要素对象设置 GeoStyle(可以将 GeoStyle 的样式设置成红色);
  • 将克隆的要素添加到 Map 的 TrackingLayer 中,即可实现高亮选中对象;
...