MapX培训教材第二章MapX基础.doc_第1页
MapX培训教材第二章MapX基础.doc_第2页
MapX培训教材第二章MapX基础.doc_第3页
MapX培训教材第二章MapX基础.doc_第4页
MapX培训教材第二章MapX基础.doc_第5页
免费预览已结束,剩余3页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章MapX 基础概述本章是对应用程序中用来创建和操作MapX 地图的主要组件的概述。在后面的各章中将对这些选出的主题做详细讨论。第一节Map 对象下列图表是 MapX 对象体系的局部,您可以看到 Map 对象存在于最顶端。每个 MapX 的对象、属性和方法都衍生于 Map 对象。每个在 Map 对象之下的属性和方法都会对生成整个 Map 对象有所影响。主要是由 DataSets、Layers 和 Annotations 对象定义每一个 Map 对象。MapX 对象模型局部说明:这不是一个完整的 MapX 对象模型。下表显示了一些由数值表示的 Map 对象属性。可以在“设计时”改变这些属性,也可以在“运行时”使用以下代码示例来更改。属性描述代码示例 Zoom设置在地图中显示的英里(默认的距离单位)数。Map1.Zoom = 500 Rotation对地图旋转指定的度数Map1.Rotation = 179 CenterX设置 x 和 y 坐标,它们可能代表经纬度。这是由地图的投影来决定的。Map1.CenterX = -79.4458 CenterY设置 x 和 y 坐标,它们可能代表经纬度。这是由地图的投影来决定的。Map1.CenterY = 44.9932用 Map 对象,可以通过操纵地图的几个方法和属性来控制地图如何来显示。有一些属性是由其他对象来表示的。例如,当您看到 MapX 地图时,也就是看到单独图层的集合,它是由 Layers 集合来表示的。Layers 集合是 Map 对象的属性。现在让我们来看一看如何改变地图的属性。属性页允许我们操作 Map 对象的多个属性。第二节 属性页当设计和测试应用程序时属性页对于修改地图属性非常有用。我们以Visual Basic 工程中访问属性页为例,相应的步骤如下:方法一:如右图1. 从属性窗口中单击自定义。2. 单击自定义行上的按钮。方法二:在设计时可以通过右键单击窗体内的 Map 对象并选择属性来访问属性页,见下图方法三:运行时查看属性页也可以在运行时查看属性页。为此,请把下列代码添加到 Map.Mouse_Up 事件中去。If Button = 2 Then Map1.PropertyPage这段代码将检测用户是否在运行时单击鼠标右键,然后显示属性页。使用鼠标右键,是因为不会影响工具(左键)的正常使用。说明:您应该仅在设计和测试时使用这段代码,因为它给用户太多权限来控制整个地图。然而,如果希望完成的产品要为最终用户显示对话框的话,可能就需要使用 Layers.LayersDlg 方法来代替 PropertyPage 方法,因为 LayersDlg 对话框对用户更友好一些。此方法将在下一章中讨论。第三节图层如下图所示,点图层本身并不是非常有用,但当把这样的由点类型构成的地图覆盖在线状地图和区域地图上时,就得到了一幅非常有用的地图。每一幅单独的地图是一个图层,MapX 把地图存储为图层的集合。区域地图线状地图点图层在“设计时”通过 MapX属性对话框或是在“运行时”通过编程可以对图层进行改变。在上述部分,属性对话框允许设计者通过简单地更改设置来操作图层。我们也可以在程序中随时更改图层属性和方法的代码。新建图层,删除图层以及更改图层的可见性和样式都是一些能在图层上完成的操作。图层集合对象(Layers Object)图层集合(Layers)是由 0 到 n 个 Layer 对象组成的。图层对象(Layer)是由特性集合(Features)组成的,且每一个特性(Feature)都有其自己的属性和样式。特性集合(Features)由 Feature 对象组成,它对应地图中的图元,例如点、线或区域。可以创建独立的 Feature 对象,也可以取得 Feature 对象的集合。第四节GeoSetsGeoSet 是地图图层及其设置的集合。可以在“设计时”指定GeoSet 。如果在“运行时”设置,则先要删除所有已加载的图层和数据集,然后加载新的 GeoSet。如前所述,在运行时指定要加载的其他 GeoSet、给地图对象添加图层,或是操作图层的外观等操作都可以通过属性页来实现,或者可以通过与 MapX 一起装载的 MapX Geoset Manager 程序 来实现(此程序可以在 MapX 程序组中找到)。右图为GeoSetManager的用户界面,可以利用此管理工具更改图层设置,当认为满意时,就可以保存地图。这将把 GeoSet 文件(*.GST)写到驱动器中。当打开该 GeoSet 文件时,将返回所有的地图图层和设置。Geoset Manager 使您可以修改图层、管理缩放等级、标注,以及其他属性。GeoDictionary利用MapXz作数据绑定或创建专题地图时,可以用 GeoDictionary来匹配数据源与地图图层。GeoDictionary 是一个保存了关于哪个地图图层可以匹配、哪个字段可以用作匹配字段的信息文件(一般命名为 geodict.dct)。如果想运用自动匹配/自动绑定,则必须在 GeoDictionary 中注册文件。例如,如果拥有按州划分的销售额的数据,那么 GeoDictionary 就可以确定此数据和“USA”地图图层相匹配。可以编程或者明确指定图层中要匹配的列与数据文件/表中的哪些列匹配,也可以让 MapX 参考 GeoDictionary 尝试找到匹配。修改 GeoDictionary如果在做数据绑定时要利用自动匹配,则在 GeoDictionary 里注册 MapInfo表是必要的。在 MapX GeoSet Manager 的工具菜单下有执行GeoDictionary 程序的选项。MapX GeoDictionary 程序允许把新的MapInfo 表注册到 GeoDictionary 中。同时,在 MapX GeoDictionary 中,单击注册表按钮,然后选择要注册的表,设置表属性并为其输入描述。如果要想自动地把这张表加载到 GeoSet 中,请单击添加按钮然后选择要把表添加进的 GeoSet 。GeoDictionary管理器的用户界面如下图所示:第五节DataSetsDataSets使您可以将数据绑定到地图。例如,如果您有一个按县划分的关于销售额的 MS Access 数据库和一幅县地图,您就可以把数据绑定在这幅县地图上,并可以发现这个按县划分的销售额趋势图,而以表格数据的形式则不容易突出显示该趋势。如上所示,当 MapX 需要在数据和地图之间指定某个匹配时,该匹配是通过称为自动匹配/自动绑定的处理过程来确定的。如要利用自动匹配/自动绑定,首先必须在 GeoDictionary 中注册地图。一旦将数据和地图绑定,就可以看到相关的地理化信息。数据的直观表示使得专题地图的创建变得可行。专题就是以颜色划分的地图,以该方式来表现数据的变化趋势。我们将在以后章节中详细的讲解专题图的制作。第六节AnnotationsAnnotations 集合是把文本和符号放在地图上的简单方法。注释放在所有其他图层的最顶端,并且不和任何数据链接。如果您熟悉 MapInfo,Annotations的概念在目的上与地图的装饰图层比较相似。下表列出了 Annotations 集合对象的方法和属性:Annotations 集合方法 方法描述代码示例AddSymbol向 Annotation 集合添加符号。使用默认样式(由 Map.DefaultStyle 指定)。Map1.Annotations.AddSymbol X, YAddText向 Annotation 集合添加文本。第四个参数表示文本在指定坐标系中的初始位置。Map1.Annotations.AddText _“Developer Services”, _79.44, 46.8889, _miPositionTLRemove从集合中删除指定的 Annotation。Map1.Annotations.Remove 1RemoveAll从集合中删除所有的 Annotation。Map1. Annotations.RemoveAllAnnotation 集合属性属性描述代码示例Editable指定注释是否能够编辑。Map1.Annotations.Editable _= TrueType指定 Annotation 对象类型。If Map1.Annotations(2).Type_Graphic包含了拥有 Annotation 属性的 Graphic 对象。请参阅联机帮助中的 Graphic 对象描述。请注意在注释对象中没有关于位置、符号样式或是注释的属性。注释的图形属性包含了该信息的图形对象。要修改注释,可修改注释的图形对象。下列代码在指定位置添加符号:Add a symbol at locationMap1.Annotations.AddSymbol X1, Y1 第七节创建对象在 MapX 对象模型中,可以使用下列对象类来创建独立对象。 BindLayer ODBCQueryInfo BitmapSymbols 点集的集合 Feature Point Fields Points NotesQueryInfo Rectangle NotesViewInfo Style下列代码显示了如何创建独立样式对象,显示样式选择对话框并使用新样式设置图层的替代样式。请注意在 Delphi 和 PowerBuilder 中需要在对象名后指定 MapX 版本号(如“MapX.Style.4”)。这样的安排使您在计算机中可同时安装多个版本的 MapX。如果已开发了 MapX 版本 4 的应用程序,而后又在同一台计算机上安装了更新的版本,那么新版本的 MapX 将不会影响版本 4 的应用程序。Visual Basic 示例Dim s as new MapXLib.Styles.PickRegionset Map1.Layers(1).Style = sC+ 示例CMapXStyle style;style.CreateDispatch(style.GetClsid();/ can also use style.CreateDispatch(MapX.Style.4), / but above is more portable between versions of MapXstyle.PickRegion();m_ctrlMapX.GetLayers().Item(1).SetStyle(style);Delphi 示例Var s : variant;begin s :

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论