MapObjects包括一个OLE控件(OCX)叫做地图控件(Map control)和一组OLE目标(objects)。它适用于工业标准程序环境。如VB6.0等。
可利用MapObjects开发应用程序并把这些程序提供给下一级用户使用。
MapObjects运行于Windows桌面环境,可以开发C/S架构下的代码和软件。
MO(MapObjects)控件的主要属性
1. MAP控件
主要用于显示地图和地图操作
层集:
MapLayer 适量地图数据
ImageLayer栅格地图数据
Add方法可以增加图层信息到地图上
Clear和Remove可以删除图层
Moveto MoveButton MoveTop 可以移动图层顺序
可以用Map1.Layers(“layername”) 和Map1.Layers.item(“layername”)来访问
动态跟踪图层显示实时数据
Extent:
地图的显示范围
Refresh:
刷新地图显示
2. 矢量层对象MapLayer
3. 图像层对象ImageLayer
4. DataConnection
用于装载shape文件的路径和SDE数据库
5. GeoDataSet和GeoDataSets
表示来自于DataConnection的一层数据或者所有数据
向地图控件增加数据的方法有三种:
1) 通过DataConnection,GeoDataset和矢量图层对象,向图层对象添加适量地图数据
2) 通过图像图层对象向地图控件增加影像地图数据
3) 通过使用动态跟踪层对象添加GeoEvent对象实现动态信息跟踪。
举例:
Dim dc As New MapObjects.DataConnection ‘连接对象,连接地图数据所在的目录
dc.Database = CurDir ‘制定地图数据所在的目录
If Not dc.Connect Then Exit Sub ‘连接地图数据所在的目录
Dim gs As MapObjects .GeoDataset ‘数据集对象,地图图层数据集
Set gs = dc.FindGeoDataset(name) ‘按照地图图层名称查找地图数据
If gs Is Nothing Then Exit Sub
Dim g_layer As New MapObjects. MapLayer
Set g_layer = New MapObjects .MapLayer ‘适量地图层
Set g_layer.GeoDataset = gs ‘装载地图层信息到地图控件
Dim recs As MapObjects2.Recordset
Set recs = g_layer.Records ‘地图层数据集中的记录,可以获得个数=recs.Count
Dim desc As MapObjects2.TableDesc ‘获得每个记录信息
Set desc = recs.TableDesc
6. EventRenderer
事件渲染对象. 事件渲染对象提供了一种渲染方式,可以对发生在矢量图层中
的事件进行渲染。 注意这里指的事件不是动态跟踪层中的要素(GeoEvent)。不同的事件可以
用不同的符号进行显示。这里的事件是根据线性要素图层来产生。