第 12章 MapX应用与开发
12.1 MapX图层
12.1.1 获取 Layer图层集合
12.1.2 Layer集合属性
12.1.3 Layer集合方法
12.1.4 Layer对象
12.2 数据绑定
12.2.1 数据绑定的概念
12.2.2 向地图中添加数据
12.3 图元与选择集合
12.3.1 基本概念
12.3.2 使用 Features集合
12.3.3 使用 Selection 集合
12.3.4 图元编辑
12.4 在地图中查找图元
12.4.1 Find对象
12.4.2 FindFeature对象
12.5 习题 12
12.1 MapX图层
12.1.1 获取 Layer图层集合用户可以通过加载 Geoset来获取 Layer集合。
图 12-1,属性”对话框图 12-2,窗体”对话框
12.1.2 Layer集合属性
1,获取集合中的图层数量
【 例 12-1】 下面是利用 Visual Basic将地图中的所有图层显示在一个列表框中 。
Privite Sub Form_Load( )
Dim x as integer
For x = 1 to Map1.Layers.Count
Print Map1.Layers(x).Name
Next
End Sub
2,利用集合获取图层
【 例 12-2】 图层名为,Highways”,索引值为 3,
可以通过下面代码进行访问 。
Dim lyr as Layer
Set lyr = Map1.Layers.Item(“Highways”)
-或者 -
Dim lyr as Layer
Set lyr = Map1.Layers.Item(3)
3,获取集合的地理范围
Bound属性将返回一个 Rectangle对象,可以代表集合中所有地图图层的地理范围
12.1.3 Layer集合方法
1,使用“图层控制”对话框利用,LayersDlg”可以在里边添加图层、
删除图层、更改图层顺序和更改图层属性。
2,创建图层利用 LayerInfo对象可以向地图添加新的或现有的图层。
3.删除图层
Remove方法从地图移除指定的图层。
12.1.4 Layer对象
Layer对象代表具有主要的图元类型(如区域、线条和符号)的地图图元集合的窗体中的矢量地图化数据。通常 Layer对象对应于一张
MapInfo表中的地理对象。 Layer集合中的每一个
Layer对象的行为独立于其他对象。它们的样式更改、图层缩放的更改都基于单个图层,而不会影响其他图层。
12.2 数据绑定
12.2.1 数据绑定的概念所谓数据绑定,就是将数据从数据源引入
MapX的过程。
用户将自己的数据绑定到地图上有两个主要优点:
① 能在地图上以图元浏览数据 。
② 将属性数据绑定到地图中,并创建专题地图 。
12.2.2 向地图中添加数据数据绑定可以通过以下两种方法完成:
① 如果使用 Visual Basic开发绑定数据控件,在设计阶段,可以使用 Map对象的 Dataset属性 。
② 通过使用 DataSets.Add方法编程来绑定数据。
12.3 图元与选择集合
12.3.1 基本概念
1,地图图元地图图元是地图上的地理对象 。
2,Features集合地图图层中的所有图元或部分图元表示为一个 Features集合。
3,Selection集合
Selection集合表示当前已选中的 Feature对象 。
12.3.2 使用 Features集合
1,获取图层中的图元在对 Features集合进行任何操作之前,必须先创建该集合。 Layer对象方法创建 Feature对象集合。
2,操作 Features集合用户可以通过 Add,Clone,Common、
Remove,Replace方法来操作 Features集合 。
3,Feature对象
Feature对象方法使用户可以创建和操作独立图元对象 。
4.图元对象属性
CenterX,CenterY,FeatureID,Length、
Perimeter,Name,Type是属性定义图元对象。
12.3.3 使用 Selection 集合用户可以单击地图选择一个或多个图元
(点、区域等)。 MapX高亮显示所有选中的图元。要检查所选图元列表,请使用 Selection集合,
它是 Feature对象的集合。
12.3.4 图元编辑
1,创建新的地图图元通过分配新 Feature对象创建图元,或者使用 Map对象的 FeatureFactory属性方法对现有图元执行操作(例如缓冲区)来创建图元。
2,FeatureFactory方法
3,修改现有图元
如果已经修改图元并且希望提交更改,
应使用 Feature.Update方法 。
如果希望将图元替换为另一图元,应使用 Layer.UpdateFeature方法 。
4,删除现有图元要删除图元,请使用 Layer.DeleteFeature方法 。
5,获取要编辑的图元可以使用 Find.Search方法执行能够返回
FindFeature对象的查询 。
12.4 在地图中查找图元
12.4.1 Find对象用户可以利用 Find对象定位地图中的图元。
12.4.2 FindFeature对象
Find.Search方法返回通过 FindFeature
对象找到的图元。
12.5 习题 12
一,思考题
1,如何获取 Layer图层集合?
2.什么是数据绑定?如何向地图中添加数据?
3,如何理解地图图元,Features集合和 Slection
集合?
4,如何利用 Find对象来获取指定的图元?
二,上机练习
1,上机完成基于 MapX的校园信息查询系统 。