您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> VB >> 真题 >> 正文    
  VB+MapX编程实现地图数据查询 【注册男护士专用博客】          

VB+MapX编程实现地图数据查询

www.nanhushi.com     佚名   不详 

  综述

  应用MapX控件实现查询的功能并不太难。MapX为我们提供了Find、FindFeature等对象,可以用来实现我们需要的功能。

  1、本程序实现从下列表中选择一个节点,并以此节点为中心进行进行定位的功能(实例以第一层RTUName属性的值进行查询)

  Private Sub Command1_Click()
  Dim FindObj As MapXLib.Find
  Dim FoundFeature As FindFeature
  '从要查询的RTU图层生成Find对象,并为这个对象设置要查询的FindDataSet、FindField属性
  Set FindObj = Form1.Map1.Layers.Item(1).Find
  Set FindObj.FindDataset = Form1.Map1.DataSets("RTU节点" & " dataset")
  Set FindObj.FindField = FindObj.FindDataset.Fields("RTUName")

  Set FoundFeature = FindObj.Search(Combo1.Text)

  Me.Hide
  ' 关掉AutoRedraw是因为CenterX(Y)的改变就要刷新图层,AutoRedraw打开的话会造成二次刷新
  Form1.Map1.AutoRedraw = False
  Form1.Map1.CenterX = FoundFeature.CenterX
  Form1.Map1.CenterY = FoundFeature.CenterY
  Form1.Show

  End Sub

  2、把上面的程序稍微改写一下,实现按照用户输入的字段进行查询定位的功能:

  Private Sub Command2_Click()

  Dim FindObj As MapXLib.Find
  Dim FoundFeature As FindFeature
  '从要查询的RTU图层生成Find对象,并为这个对象设置要查询的FindDataSet、FindField属性
  Set FindObj = Form1.Map1.Layers.Item(1).Find
  Set FindObj.FindDataset = Form1.Map1.DataSets("RTU节点" & " dataset")
  Set FindObj.FindField = FindObj.FindDataset.Fields("RTUName")

  Set FoundFeature = FindObj.Search(Text1.Text)

  If FoundFeature.FindRC Mod 10 = 1 Or FoundFeature.FindRC Mod 10 = 2 Then
  Me.Hide
  ' 关掉AutoRedraw是因为CenterX(Y)的改变就要刷新图层,AutoRedraw打开的话会造成二次刷新
  Form1.Map1.AutoRedraw = False
  Form1.Map1.CenterX = FoundFeature.CenterX
  Form1.Map1.CenterY = FoundFeature.CenterY
  Form1.Show
  Else
  MsgBox "不存在该RTU节点!"
  End If

  End Sub

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。