成都汽车融资租赁市场:VB+MapX运行出现:对象“Search”的方法“CMapXLayerfind”失败

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 14:22:35
我在学校图层中根据学校名称利用图层的search方法查找图元,出现错误,请大家帮忙!出现错误信息“对象search的方法cmapxlayerfind失败”,
我的代码是
Private Sub Command1_Click()
Unload infoquery
Dim curFeatures As MapXLib.Features
Dim pt As New MapXLib.Point
Dim count As Integer
Dim count1 As Integer
Dim dsDataSet As Dataset
Dim layer As layer
Set layer = frmMain.Map1.Layers("school")
Set dsDataSet = frmMain.Map1.DataSets.Add(miDataSetLayer, layer)
count = dsDataSet.RowCount
If Combo1.Text = "" Then
MsgBox ("您还未选择高校名")
Else
For i = 1 To count
If dsDataSet.value(i, 2) = Combo1.Text Then
j = i
End If
Next i
Dim Findschoolobject As MapXLib.FindFeature
Set Findschoolobject = frmMain.Map1.Layers("school").Find.Search(j)
If (Findschoolobject.FindRC Mod 10 = 1) Then
main.Map1.ZoomTo 0.088, Findschoolobject.CenterX, Findschoolobject.CenterY

count1 = dsDataSet.Fields.count
pt.Set Findschoolobject.CenterX, Findschoolobject.CenterY
Set curFeatures = frmMain.Map1.Layers("school").SearchAtPoint(pt)
frmMain.Map1.Layers("school").Selection.Replace curFeatures
Dim l As ListItem
Dim ls As ListSubItem
Dim i1 As Integer
For i1 = 1 To count1
Set l = infoquery.ListView1.ListItems.Add(i1, , dsDataSet.Fields(i1))
Set ls = l.ListSubItems.Add(, , dsDataSet.value(j, i1))
Next i1
infoquery.Show
Else
MsgBox ("该高校未找到")
End If
End If
End Sub

Private Sub Form_Load()
Dim obj As Object
Dim curFeature As MapXLib.Features
Set curFeature = frmMain.Map1.Layers("school").AllFeatures
For Each obj In curFeature
Combo1.AddItem obj.Name
Next
Set obj = Nothing
End Sub

调试的时候,这句显示错误,谁能帮我改一改呀
Set Findschoolobject = frmMain.Map1.Layers("school").Find.Search(j)

Find.Search 搜索图层以查找街道地址或地图上的图元的名称。它将返回 FindFeature 对象。

语法: Find.Search (Address, [ Boundary ] ) ,
其中Address为字符串型参数,是要查找的对象或街道地址的名称。例如 "Rensselaer, 6 Georgian Ct," , "London" , 或 "3 Elm Street" 。

你的代码: Set Findschoolobject = frmMain.Map1.Layers("school").Find.Search(j) 中,Search方法的参数是不是应该换成名称试试?

好长时间没用MAPX了,只能帮你说这些了。