对于ArcEngine开发者来说,万事第一步,就是要先加载地图数据,不过我们下面要讲的加载地图的方法不是用ArcEngine自带的控件或命令来实现的,而是以代码方式实现的。加载地图的方式主要分为两种:加载地图文档(.mxd/.pmf)和加载图层,下面主要以加载图层为重点来讲述。
1.加载地图文档
1.1实现原理
通过IMapReader打开一个地图文档,然后获取IMap,最后将IMap加载到MapControl控件中。
1.2涉及接口
IMapReader,IMap
1.3具体实现
1 OpenFileDialog dlg = newOpenFileDialog();2 dlg.Filter = "地图文档(*.mxd)|*.mxd|地图发布文档(*.pmf)|*.pmf";3 var ret =dlg.ShowDialog();4
5 if (ret ==System.Windows.Forms.DialogResult.OK)6 {7 IMapReader pMapReader = newMapReaderClass();8 pMapReader.Open(dlg.FileName);9 IMap pMap = pMapReader.get_Map(0);10 this.axMapControl1.Map =pMap;11 }
PS:除了上述方法外还可以直接使用地图控件提供的方法
1 this.axMapControl1.LoadMxFile(dlg.FileName);
2.加载图层
2.1实现原理
通过图形数据的工作空间工厂(WorkspaceFactory)建立一个工作空间(Workspace),在这个工作空间中打开图形数据,图