转载请注明出处:http://gisbase.czm.cn 使用教材《GIS设计与开发》科学出版社
MapX是按图层组织地图的,每个图层包含了整个地图的某一个方面。
图层集对象是由图层对象组成的集合对象,有自己的属性和方法。
对应的类为Layers
图层集(Layers)对象的属性:
Count:返回图层的数目
Map1.Layers.Count
Item(层名或索引):返回图层对象
Dim lyr As Layer
Set lyr = Map1.Layers.Item(1)
Dim lyr As Layer
Set lyr = Map1.Layers.Item("buspoint")
Dim lyr As Layer
Set lyr = Map1.Layers("buspoint")
Dim lyr As Layer
Set lyr = Map1.Layers(1)
Bounds:得到集合对象的地理范围
map1.Bounds=map1.Layers.Bounds
图层集对象常用的方法:
Layer Control
CreateLayer
Add
Remove
Move
自定义图层控制对话框
Private Sub cmdUp_Click()
If List1.ListIndex > 0 Then
Form1.Map1.Layers.Move List1.ListIndex + 1, List1.ListIndex
Dim curListIndex As Integer
curListIndex = List1.ListIndex
Dim str As String
str = List1.List(curListIndex)
List1.List(curListIndex) = List1.List(curListIndex - 1)
List1.List(curListIndex - 1) = str
List1.ListIndex = curListIndex - 1
End If
End Sub
图层对象的常用属性
KeyField:用于指定图层的MapInfo属性表中的字段。指定后,就可以通过Feature的KeyValue属性,得到字段的值。
Map1.Layers.Item(“城市”).KeyField=“City_Name”
Str=Map1.Layers.Item(“城市”).AllFeatures.Item(1).KeyValue
Style属性:用于定义图层的样式。可以通过这个属性覆盖图层中图元默认的样式。图层的OverrideStyle属性应该为true。
注:
该属性的改变并不真正更改图元的样式
若一个图层中不仅有点而且有线、多边形等,设定Style为其中一种(比如为点样式),则其他类型(线、多边形)的图元的样式会发生改变(变为默认的样式)。
Style对象
Symbol——符号特征的属性
Line——直线特征的属性
Region——区域特征的属性
Text——文本特征的属性
PickSymbol
PickText
PickLine
PickRegion
Dim st as new style
With st
.SymbolCharacter=36
.SymbolFontColor=miColorRed
.SymbolFont.Size=20
End With
Map1.Layers.Item(1).OverrideStyle=true
Set Map1.Layers.Item(1).Style=st
Dim st as new Sytle
St.pickSymbol
Map1.Layers.Item(1).OverrideStyle=true
Set Map1.Layers.Item(1).Style=st