一、加载地图数据
1、 TAB的数据分为两种数据:地图数据(Layers)、属性数据(Datasets)。关系:不可分割的一个数据集的两部分.
2、 数据加载:GST文件由GeosetManager40.exe程序生成。在程序使用gsT文件:Map1.Geoset=Filepath+FileName
3、 问题:GST文件加载后,只是默认将地图数据加载,属性数据另外需要使用单独的命令进行加载,否则对属性数据的操作全部非法。加载:Map1.Datasets.ADD 属性数据集名称
4、 另一种加载方式:使用LayerInfo 对象,这种方式下加载地图数据源的地图集和属性集均可直接使用。示例:
dim LayerInfo as MapXLib.LayerInfo
dim Lyr as Mpxlib.layer
LayerInfo.Type = miLayerInfoTypeTab ‘加载表的类型
LayerInfo.AddParameter "FileSpec", FilePath + LayerName + ".TAB" ‘加载表
的全路径名
LayerInfo.AddParameter "NAME", LayerName ‘地图集的别名
LayerInfo.AddParameter "AutoCreateDataset", 1 ‘是否加载属性数据集
LayerInfo.AddParameter "datasetname", LayerName ‘属性数据集别名
MainMap.Layers.Add LayerInfo ‘加载到指定的MapX对象中,立即可直接使用
5、 第三种加载数据方式:GST文件+ LayerInfo方式。示例:
使用两个MapX对象:MainMap、TempMap
TempMap.Geoset=GST文件
MainMap.geoset=””
TempMap.Refresh
For I=1 to TempMap.Layers.Count
FileName=TempMap.Layers.Item(I).Filespec
‘直接引用LayerInfo方式加载地图数据到MainMap
Next
二、创建地图对象
必要:创建地图对象,必须使用FeatureFactory对象
1、 创建一个点对象
点对象有一个坐标点(X,Y),点对象变量是Point类型,点对象的样式(Style)是符号
样式。
Dim Pnt AS MapXLib.Point
Dim FeaFac AS MapXLib.FeatureFactory
Dim Lyr AS MapXLib.Layer
Dim Ftr AS MapXLib.Feature
Dim NewStyle AS MapXLib.Style
‘绑定
SET Lyr=MainMap.Layers.Item(LayerName)
SET FeaFac=mainmap.featurefactory
‘设置点对象样式
With NewStyle
.SymbolType = miSymbolTypeBitmap
.SymbolBitmapSize = 24
.SymbolBitmapTransparent = False
.SymbolBitmapName = "YIEL2-32.BMP"
End With
Mainmap.AutoRedraw=False ‘禁止自动刷新
Lyr.Editable=






