阅读:2073回复:5
[原创]c#实现动态加载图层
<P>using System;
using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data;</P> <P>namespace Mo { /// <summary> /// Form1 的摘要说明。 /// </summary> public class FormMain : System.Windows.Forms.Form {</P> <P> private AxMapObjects2.AxMap axMo_Main;</P> <P> private System.Windows.Forms.OpenFileDialog mo_OpenShp; private System.ComponentModel.IContainer components; </P> <P>/// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.Run(new FormMain()); }</P> <P>实现函数如下,只须调用就可以实现</P> <P>private void AddLayer() { string fileName,strDir,strFileExt; int pos,i=-1; MapObjects2.DataConnection dc=new MapObjects2.DataConnectionClass();//定义连接 MapObjects2.GeoDataset gds=null;//定义图层数据 MapObjects2.MapLayer layer=new MapObjects2.MapLayerClass();//定义图层 </P> <P> if(mo_OpenShp.ShowDialog()==DialogResult.OK) { //连接图层 fileName=mo_OpenShp.FileName; pos=fileName.LastIndexOf("\\"); strDir=fileName.Substring(0,pos); dc.Database=strDir; if(dc.Connect()==false) MessageBox.Show("recover"); //加入图层数据 pos=fileName.LastIndexOf("\\"); strFileExt=fileName.Substring(pos+1,fileName.Length-pos-1); gds=dc.FindGeoDataset(strFileExt); if(gds==null) MessageBox.Show("recover"); layer.GeoDataset=gds;//加入图层数据 //添加图层 axMo_Main.Layers.Add(layer); } }</P> <P>}</P> |
|
1楼#
发布于:2004-10-02 20:27
<img src="images/post/smile/dvbbs/em01.gif" />
|
|
|
2楼#
发布于:2006-07-06 16:34
<P>支持</P>
|
|
3楼#
发布于:2006-07-20 10:23
<img src="images/post/smile/dvbbs/em01.gif" />
|
|
4楼#
发布于:2006-08-07 15:33
<P>哈哈 好东西 帮了我一大忙 谢谢`~~~~~~ </P>
<P>支持!!!!!!!!!!!!1</P> |
|
5楼#
发布于:2006-08-28 15:16
<P>不就是简单地加图层嘛.</P>
<P>动态加载图层的标题咋一看还觉得很高深...</P> |
|