mapgis插件,mapgis win10
作者:朱
资料来源:http://blog..net/clever101
MapWinGIS是著名的开源ActiveX组件,在功能上与MapX类似(网上有人用它代替了MapInfo的著名组件MapX)。我用VS C 2005写过一个例程,发现确实不错(开发环境:VS C 2005 sp1,Win XP sp3)。
首先,使用VS C 2005创建一个新的单文档项目:VisualDivision。然后注册MapWinGIS。
ActiveX组件。在命令行窗口中输入命令:regsvr 32mapwingis . ocx。(注意:$MapWinGIS.ocx是存储MapWinGIS.ocx的绝对路径。我的是:f:/dev tool/mapwingis _ SDK/mapwingis . ocx。)
然后我们为控件添加相应的类。具体来说,在项目的ActiveX控件中添加一个MFC类,如下图所示:
然后在注册表中选择Map Control 1.0,这是interface _DMap的CGisMap类,如下图所示:
现在让我们开始编码:
首先,打开stdafx.h并添加:
在Resource.h中为要创建的地图窗口添加一个资源ID:
在视图类中添加一个私有变量CGisMap:
添加view类的WM_CREATE message的响应函数,动态创建地图窗口。具体代码如下:
添加view类的WM_SIZE message的响应函数,并添加以下代码,使map控件占据整个视图:
让我们实现一个简单的功能:打开一个tif图像或shp文件进行显示。首先在view类的菜单 Open 中添加一个命令消息函数:OnFileOpen,然后在view类中添加一个CString类型的私有变量m_strFilePath来保存tif图像或shp文件的路径:
OnFileOpen函数的代码如下:
节目效果图如下:
打开tif图像:
打开shp文件:
测试代码已经上传到程序员联合开发网,包括包含ocx控件的MapWinGIS_SDK和两本ocx控件的用户手册。下载页面是:
http://www . pudn . com/downloads 225/source code/windows/detail 1058373 . html
参考资料:
在vc 6.0平台上注册并加载MapWinGis
2010年2月4日,根据hoodlum1980大虾的评论,修改了打开图片和shp文件的代码。