你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 图形图象处理与游戏编程
利用VB实现MO地图层控制(三)
 

(2) 图层顺序操作

在前例基础上,添加四个CommandButton控件、一个ListBox控件。实现在列表中列举出已添加到地图控件中的图层,以便对图层顺序进行控制,通过双击列表中的图层,将该层移动到最上层,也可以通过另外四个按钮实现地图图层的位置顺序操作,并更新列表和刷新地图显示。

实现代码如下:

实现通过双击列表中的图层,将该层移动到最上层,并更新列表和刷新地图显示

Private Sub List1_DblClick()

Dim selectedIndex As Integer

selectedIndex = 0

Set layers = Map1.layers

For i = 0 To List1.ListCount - 1

If List1.Selected(i) Then

selectedIndex = i

End If

Next i

If selectedIndex = 0 Then

MsgBox “该层已处于最高层”

Else

双击列表中的图层,将该层移动到最上层   

layers.MoveToTop (selectedIndex)

  刷新地图显示

Map1.Refresh

  更新List列表

showList

End If

End Sub

 

Sub showList()

List1.Clear

Set layers = Map1.layers

For i = 0 To layers.Count - 1

Set layer = layers.Item(i)

在列表中添加地图图层

List1.AddItem (layer.Name)

Next i

End Sub

 

点击Top按钮,实现所选图层移动到顶层。(Bottom按钮类似,代码略。)

Private Sub Top_Click()

Dim selectedIndex As Integer

selectedIndex = 0

Set layers = Map1.layers

For i = 0 To List1.ListCount - 1

If List1.Selected(i) Then

selectedIndex = i

End If

Next i

If selectedIndex = 0 Then

MsgBox “该层已处于最高层”

Else

layers. MoveToTop (selectedIndex)

layers. MoveToBottom (selectedIndex) ‘移动到最底层

Map1.Refresh

showList

End If

End Sub

 

点击Up按钮,实现所选图层向上移动一层。(Down按钮类似,代码略。)

Private Sub Up_Click()

Dim selectedIndex As Integer

selectedIndex = 0

Set layers = Map1.layers

For i = 0 To List1.ListCount - 1

If List1.Selected(i) Then

selectedIndex = i

End If

Next i

If selectedIndex = 0 Then

MsgBox “该层已处于最高层”

Else

layers.MoveTo selectedIndex, selectedIndex – 1

Map1.Refresh

showList

End If

End Sub


4 实现地图图层位置控制

四、结语

       MO是一个理想的GIS组件式二次开发控件,它优势在于占用的系统内存资源较小,且包含有比较丰富的属性、方法等,程序员可以直接调用这些接口来实现GIS的基本功能。本文基于对于GIS地图图层控制的重要性,利用MOVB语言环境下进行了二次开发,实现对地图图层的载入、显示和图层控制等基本GIS功能。

 

 

参考文献

1刘光.地理信息系统二次开发教程(组件篇).北京:清华大学出版社,2003.

2薛伟.MapObjects:地理信息系统程序设计.北京:国防工业出版社,2004.

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089