查看: 522|回复: 0

[ASP.NET教程] 一个简单的C#+arcgis的非数据库版例子

发表于 2018-4-25 08:00:02

1.首先新建一个winform的项目。

2.确保C#工具箱包含ESRI的相关控件,如果没有就需要安装SDK。

如果VS中依旧不存在esri控件解决方案如下,以VS2013为例:

(1)打开注册表,定位至HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0,点击10.0在右侧空白处右侧新建--字符串值,名称取”InstallDir“,类型默认为REG_SZ,其数据值即为HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\12.0\InstallDir的值,也就是你VS2013的安装路径。

(2)win7 64位下只要把vs2010安装目录下\Common7\IDE\ItemTemplates\CSharp\ArcGIS文件夹和\Common7\IDE\ProjectTemplates\CSharp\ArcGIS分别对应复制到C:\Users\Administrator\Documents\Visual Studio 2013\Templates\ItemTemplates\Visual C#和C:\Users\Administrator\Documents\Visual Studio 2013\Templates\ProjectTemplates\Visual C#就可以了。

(3)重启VS后还没有那就手动添加一下吧!

3.将VS的相应ToolbarControl(工具控件),AxTOCControl(目录控件),AxMapControl(地图控件)和AxLicenseControl (许可控件)控件拖到界面形成一下效果:

之后修改public Form1()的后台代码如下:

  1. ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
  2. InitializeComponent();
  3. string path = @"F:\Chang\mapTest\mapTest\World\";
  4. string fileName = @"World.mxd";
  5. //加载图层文件
  6. axMapControl1.LoadMxFile(path + fileName);
  7. //设置MapControl显示范围到数据的全局范围
  8. axMapControl1.Extent = axMapControl1.FullExtent;
复制代码

运行效果最终形成

源码下载



回复

使用道具 举报