`
izuoyan
  • 浏览: 9219237 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

基于.NET平台的MapX开发

阅读更多

MapX是MapInfo公司向用户提供的具有强大地图分析功能的ActiveX组件。尽管MapX组件开发技术已趋于成熟,但在.NET平台上进行MapX开发还是一个新课题。本文以VB.NET为例,就在.NET平台上开发MapX进行初步的探讨。

1. MapX与.NET平台结合的意义

  Visual Basic .NET(简称VB.NET)是Microsoft公司向用户提供的具有强大

地图分析功能的Microsoft Visual Studio .NET(简称VS.NET)的四种编程语言之一,是继Visual Basic 6.0简单的升级,而是发生了质的变化。与VB6.0相比较,VB.NET无论在语法上还是框架结构上,都发生了较大的变化,功能上也大大增强,完成从最初的控制台应用程序、Windows应用程序到Web应用程序的各种不同要求,是一种真正面向对象的语言,是一次历史性的飞跃。VB.NET的出台,使之能与JAVA相抗衡。在GIS二次开发方面,由于VB.NET是Microsoft的产品,因此在Windows操作系统中利用组件技术开发GIS,比JAVA更加方便、快速、得心应用。VB.NET有着广阔的应用前景,并必将被越来越多的人所接受,VB.NET取代VB进行GIS二次开发,是大势所趋。因此,在.NET平台上进行MapX的开发是一个值得研究的课题。

2. MapX控件与.NET平台的绑定

  在VB.NET中使用MapX并不复杂,与在VB中一样,不需要编写一行代码就可以在应用程序中显示一张地图。安装好MapX后,启动VB.NET,在集成开发环境中选择 文件|添加项目|新建项目命令,打开新建项目对话框,创建一个名为MapX的应用程序,项目自动生成Form1窗体,此时选择 工具|添加/移除工具箱项命令(如图1)。

  在出现的自定义工具箱中选择COM组件,在Mapinfo MapX V4选项上打勾,点击确定按钮(如图2),这时在工具箱上出现一个新的控件,这个

新控件就是MapX控件。这样,就能在VB.NET中使用MapX控件了。

3. 在.NET平台上进行MapX开发

  地图控件用于显示地图。因此要显示地图,首先需要在窗体中加入一地图控件。可以通过在工具箱上双击地图控件,在窗体中加入地图控件,并根据需要再适当调整地图控件的大小和位置。也可以先选择该地图控件,然后在窗体中按住鼠标左键并拖动鼠标,指定地图控件的位置和大小。当在窗体中加入地图控件时,默认显示一美国地图,即地图控件MapX的Geoset默认属性为United State(如图3)。添加MapX控件后,开发者就可以像对其他对象一样修改MapX控件的属性和方法,调用各种功能了。在MapX中,提供了标准的地图工具,可以很容易地利用常用的标准工具开发出方便易用的地理信息系统,而不必针对每一种地图操作都完全靠开发者自已编程。MapX内置了常用的标准地图工具,主要分为两类:一是对象创建工具,用来创建地图图元;另一类是选择工具。在选择工具的使用时,可以配合功能键Shift和Ctrl键。它们包括:

  (1)改变地图比例尺和地图导航的工具:放大工具、缩小工具、平移工具和居中工具。

  (2)通过单击地图图元进行标注的标注工具。

  (3)以不同方式选择地图图元的选择工具集合。具体开发方法是:在程序适当位置激活某一个标准工具,把CurrentTool属性设为某一个常量,或直接用值。例如,在窗体中MapX控件为axMap1对象,当需要放大工具时:

AxMap1.CurrentTool=MapXLib.ToolConstants.miZoomInTool

  或者:

  AxMap1.CurrentTool=1003

  运行程序就会看到此鼠标光标变为了放大镜。其他工具设定的方法与此相同。在具体实现中经常会为用户提供一些工具条,上面有地图的标准操作工具,以方便用户操作地图,例如提供放大、缩小、平移和选择这4种常用的工具按钮,在按钮的命令中可以编写为: 对于一般的应用,MapX提供的标准工具就足够用了。至此,就实现了MapX在.NET平台上的应用与开发。

'地图放大工具

Private Sub Button3_Click(ByVal sender As System.Object,ByVal As System.EventArgs) Handles Button3.Click

AxMap1.CurrentTool=mapXLib.ToolConstants.miZoomInTool

End Sub

'地图缩小工具

Private Sub Button4_Click(ByVal sender As System.Object,ByVal As System.EventArgs) Handles Button4.Click

AxMap1.CurrentTool=mapXLib.ToolConstants.miZoomOutTool

End Sub

'地图平移工具

Private Sub Button1_Click(ByVal sender As System.Object,ByVal As System.EventArgs) Handles Button1.Click

AxMap1.CurrentTool=mapXLib.ToolConstants.miPanTool

End Sub

'地图选择工具

Private Sub Button7_Click(ByVal sender As System.Object,ByVal As System.EventArgs) Handles Button7.Click

AxMap1.CurrentTool=mapXLib.ToolConstants.miSelectTool

End Sub

对于一般的应用,MapX提供的标准工具就足够用了。至此,就实现了MapX在.NET平台上的应用与开发。

4. 应注意的几个问题

  VB.NET的集成开发环境较之VB要复杂一些,尽管用VB.NET和VB开发MapX的基本思想和基本方法大体相同,但是两者的语法和架构有较大区别,不能照搬照套VB开发MapX的经验,尤其是源代码,更不能相互利用。

  4.1正确添加MapX控件

  要在.NET平台开发MapX,首先要正确安装MapX软件包,否则,在 COM组件中就找不到MapInfo MapX V4选项。只须按照MapX安装指南按步骤安装即可。但要注意的是,随着MapX4.0之后的版本推出,MapInfo公司改变了版权控制的方式——采用计算机系统编号的方法控制。用户除了购买MapX软件本身之外,要针对每一台欲安装MapX的计算机单独购买软件许可(License),否则,软件将不能正常使用。其次,要正确将MapX控件添加到VB.NET集成开发环境的工具箱上,用惯了VB的编程人员都知道,是在工程|部件命令中打开对话框,选择Mapinfo MapX V4控件,但在VB.NET中没有工程|部件命令,要用工具|添

加/移除工具箱项命令打开对话框。

  4.2合理使用MapX标准工具

  为了在地图中创建新的图元,或者修改已有的图元,需要地图编辑功能。MapX的标准工具提供了miAddPoint、ToolmiAddLine、ToolmiAddPolyLineTool、miAddRegionTool四种添加工具,分别属于添加点、添加线、添加折线和添加区域工具。对于添加工具,MapX指定将添加的图元放在Insertionlayer图层中。

  因此需要在添加的图层前,先设定insertionlayer图层,并将其设为可编辑的。方法如下:   其中(1)表示:打开图层对话框,在图层对话框中将当前图层设为可编辑;(2)表示:将Insertionlayer图层设定为当前层。

Private Sub MenuItem132_Click(ByVal sender As Systeme.Object, ByVal e As System.EventArgs)Handles MenuItem132.Click

AxMap1.Layers.LayersDlg() (1)

AxMap1.Layers.InsertionLayer=AxMap1.Layers.Item(1) (2)

End Sub

  其中(1)表示:打开图层对话框,在图层对话框中将当前图层设为可编辑;(2)表示:将Insertionlayer图层设定为当前层。

  4.3关于更改初始界面

  在窗体中加入MapX控件时,默认的是美国地图,因此,在应用程序运行时,初始界面是美国地图。如何将初始界面改为自已需要的地图呢?首先,将需要的地图(扩展名为.gst)放到MapX安装路径的Maps文件夹下,例:D:\Program Files\MapInfo MapX 4.0\Maps。其次,在窗体MapX控件中点击鼠标右键,选择属性,出现如图4所示中间的地图属性页。

  在对话框中点击General选项卡,找到GeoSet选项,选择所需地图,并修改底部的Title内容,即可将初始界面的地图更改为自己需要的地图。
分享到:
评论

相关推荐

    基于.NET平台的MapX开发.doc

    ### 基于.NET平台的MapX开发 #### 1. MapX与.NET平台结合的意义 MapX作为MapInfo公司推出的强大的地图分析ActiveX组件,虽然其开发技术已经相当成熟,但是在.NET平台上对其进行开发仍然是一个新兴的研究领域。随着...

    基于GIS的城市旅游信息系统(asp.net+mapx5电子地图)

    “基于GIS的城市旅游信息系统(asp.net+mapx5电子地图)”是一个集成了GIS技术、Web开发和数据库管理的综合性应用,它利用ASP.NET作为开发工具,MapX5作为地图展示和处理的核心,共同构建了一个高效、实用的城市旅游...

    基于.NET平台的MapXtreme二次开发

    ### 基于.NET平台的MapXtreme二次开发 #### 一、引言 随着互联网技术的迅速发展,地理信息系统(GIS)的应用越来越广泛。GIS不仅能够处理大量的空间数据,还能提供丰富的可视化功能,满足不同领域的需求。MapInfo...

    基于MapX的二次开发

    2. **.NET Framework**:.NET Framework是Microsoft的开发平台,它提供了一组全面的开发工具和服务,用于构建、部署和运行各种应用程序。MapX控件是建立在这个框架之上,因此开发者需要熟悉.NET Framework的类库和...

    MapX中文版(附MapX中文开发指南)

    MapX是一款由Bentley Systems公司开发的地图控件,它为.NET Framework和Visual Basic应用程序提供了强大的地图绘制和地理信息系统(GIS)功能。MapX在Windows应用程序中提供了丰富的地图操作和显示,包括地图缩放、...

    MAPX开发指南-实战性指南

    根据提供的文件信息,我们可以深入探讨有关MAPX开发的相关知识点,特别是其原理与具体的开发方法。 ### MAPX原理 #### 地理信息系统(GIS)简介 MAPX作为一个强大的地图控件库,其背后的支撑技术主要是地理信息...

    MapX与C#开发.pdf

    MapX C# 地理信息系统 开发 第四章MapX与C#实例 第五章MapX与ORACLE结合 第六章Mapctrl控件的开发方法...第七章分发基于.Net平台的MapX应用程序 来自百度文库,从文库下载好多童鞋的文库积分不够,所以好东西大家分享吧

    mapx开发基础(mapinfo)

    《基于MapX技术的地理信息系统开发实例》是深入学习MapX开发的重要参考资料,它涵盖了MapX的基本概念、安装与配置,以及如何利用MapX进行地图显示、数据操作和应用程序开发等多个方面。MapX是由MapInfo公司开发的一...

    Mapx的开发 基于MapX的GIS应用开发

    本教程将深入探讨MapX的开发,帮助你掌握基于MapX的GIS应用开发。 一、MapX基本概念 1. MapX对象模型:MapX的核心对象包括Map、Layer、Shape等。Map对象代表地图本身,Layer对象用于组织地图上的不同数据层,而...

    MapX5.0中文开发指南_MaxIno_

    7. **API与SDK**:MapX5.0提供了丰富的API和SDK,支持多种编程语言,如C++、.NET和Java,方便开发者根据自己的技术栈进行开发。 8. **多平台支持**:MapX5.0不仅适用于桌面应用,还支持移动平台,如Windows Mobile...

    C#利用mapx开发GIS系统源代码

    首先,"C#利用mapx开发GIS系统源代码"意味着我们要关注的是C#编程语言与MapX库的交互。C#作为.NET框架的一部分,提供了强大的面向对象编程能力,适合构建复杂的GIS应用程序。MapX则为C#开发者提供了一套API接口,...

    mapx开发的基本程序(c#)

    基于mapx5.0与C#开发的GIS二次开发,包括添加图元,自定义图元,缓冲区,ADO与ADO.NET连接数据库功能,以及专题地图生成,并附带数据一份,带有鹰眼功能,实为GIS二次开发初学者的一个好例子。

    .net C# sql server mapx

    - 在GIS开发中,C#和.NET Framework常常被用来构建基于Windows的地图应用和服务。 #### 3. SQL Server 数据库 - **SQL Server**:由微软公司推出的关系型数据库管理系统,广泛应用于企业和组织内部的数据管理。 - ...

    用MapX开发地理信息系统

    《用MapX开发地理信息系统》是一本专注于利用MapX技术构建GIS应用的指南,由清华大学出版社于2003年出版。MapX是MapInfo公司推出的一个强大的地图绘制和地理信息系统开发组件,它允许开发者在Visual Basic等环境中...

    基于MapX控件开发的GIS的交通网络处理软件代码

    在这个基于MapX控件开发的GIS交通网络处理软件中,我们可以探讨以下几个关键知识点: 1. **MapX控件的基本使用**:MapX控件通过COM接口与应用程序交互,允许开发者在Visual Basic、C++、.NET等环境中轻松添加地图...

    用MapX与C#开发地理信息系统教程

    7. **.NET Framework**:MapX是基于.NET Framework的,因此开发者需要理解CLR(公共语言运行时)和类库的使用。 8. **WinForms和WPF**:MapX控件可以嵌入到WinForms或WPF应用中。WinForms适合快速开发,而WPF提供了...

    用MapX与C_开发地理信息系统.doc

    第七章 分发基于.NET平台的MAPX应用程序 91 7.1 .NET FRAMEWORK 概述 91 7.2 .NET FRAMEWORK 的主要组件和功能 92 7.2.1公共语言运行库 92 7.2.2 .NET Framework 类库 92 7.3 安装 .NET FRAMEWORK 93 7.4 MAP客户...

    用MapX与C#开发地理信息系统(电子书 实现部分)

    它支持.NET Framework,这使得与MapX库的结合变得简单,因为MapX也是基于.NET构建的。了解C#的基本语法、类、对象、事件和多线程等概念是开发GIS应用的基础。 3. **MapX与C#集成**:在C#项目中使用MapX,首先需要...

    基于c#的mapx 图元的添加与删除

    在.NET环境中,MapX是一个强大的地图控件,用于创建交互式地图应用。它是由MapInfo公司提供的,允许开发者集成地理信息系统(GIS)功能到他们的C#应用程序中。本资源主要探讨了如何使用C#编程语言在MapX中进行图元的...

    VC++环境下基于MapX控件的GIS应用软件的开发 .rar_MAPX VC_VC 控件_VC++ Mapx_caj_mapx

    在"VC++环境下基于MapX控件的GIS应用软件的开发"这个主题中,我们可能会涉及以下知识点: 1. **MapX安装与配置**:首先,开发者需要下载并安装MapX库,然后在VC++项目中正确配置引用,确保编译器能够找到相关的...

Global site tag (gtag.js) - Google Analytics