|
Dim pnt As New soGeoPoint
Dim DTV As soDatasetVector
Dim Rcd As soRecordset
'转换平面坐标为地理坐标
pnt.x = SuperMap1.PixelToMapX(ScaleX(x, vbTwips, vbPixels))
pnt.y = SuperMap1.PixelToMapY(ScaleX(y, vbTwips, vbPixels))
'获取用来查询的数据集
Set DTV = SuperMap1.Layers(1).Dataset
'在相应的数据集上进行空间选择,并保存记录
Set Rcd = DTV.QueryEx(pnt, scsPointInPolygon, "")
If Rcd Is Nothing Then Exit Sub
If Rcd.RecordCount < 1 Then Exit Sub
SuperMap1.Selection.RemoveAll
'把查到的记录追加到选择集合中,并高亮显示
SuperMap1.Selection.FromRecordset Rcd
SuperMap1.Refresh '刷新
Rcd.MoveFirst '定位记录到第一条记录 |