获取选中的专题元素。若指定的点与专题元素上最近点的距离是在指定的容限范围,则该专题元素被选中。目前只支持标签专题图,
命名空间:
SuperMap.Mapping程序集: SuperMap.Mapping (in SuperMap.Mapping)
版本: dll
语法
参数
- pt
- Type: SuperMap.Data..::.Point2D
要测试的点。
- tolerance
- Type: System..::.Double
指定的容限。
- testResult
- Type:
System.Collections.Generic..::.List<(Of <(GeoText>)>)
%
用于存储该方法得到的专题图元素,在没有得到满足条件的对象时,该参数对象的长度为0。
返回值
是否得到了专题图元素,true表示通过该方法得到了专题元素。示例
以下代码示范了获取选中的专题元素。假设已打开world.udb 数据源。
CopyC#
private void ButtonHitTest_Click(Object sender, EventArgs e) { //获得指定名称的数据集 DatasetVector dataset = m_datasources.Datasets["World"] as DatasetVector; // 制作标签专题图并将其添加到图层 ThemeLabel themeLabel = ThemeLabel.MakeDefault(dataset, "SmID", RangeMode.EqualInterval, 4); themeLabel.LabelExpression = "SmID"; Layer layer = mapControl1.Map.Layers.Add(dataset, themeLabel, true); mapControl1.Map.ViewEntire(); //通过给定的条件查询得到记录集 Int32 id = 217; Recordset recordset = dataset.Query(new Int32[] { id }, CursorType.Static); recordset.MoveFirst(); //设置要测试的点、容限和专题图元素 Point2D hitPoint = recordset.GetGeometry().InnerPoint; Double tolerance = 1000; List<GeoText>result = new List<GeoText>(); //返回选中的专题元素 layer.HitTest(hitPoint, tolerance, ref result); recordset.Dispose(); }