使用GDBopenFileDialog打开数据并显示

本文详细介绍了如何在地图应用中实现地图文档与目录树的整合,包括地图文档的创建、数据文件选择、数据加载及地图显示。通过使用MapGIS的API,实现了地图文档与目录树之间的无缝连接,使得用户能够方便地管理和查看地图数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 界面设计

工作空间树(mytree), 地图显示视图(mapControl1),菜单

保证数据库正常。

2 代码

菜单事件

 private void 打开数据ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // 地图文档
            MapGIS.GeoMap.Document doc = MyTree.Document;//这个地方可以将地图文档和目录树连接起来
            doc.Title = "GDBOpenFileDialog演示";
            doc.New();
            //地图
            MapGIS.GeoMap.Map MyMap = new Map();
            MyMap.Name = "下面是打开的数据";
            doc.GetMaps().Append(MyMap);//把地图添加到文档中
            MapGIS.UI.Controls.GDBOpenFileDialog ofd = new MapGIS.UI.Controls.GDBOpenFileDialog(true);
            ofd.Filter = "简单要素类|sfcls";
            ofd.Multiselect = true;
            DialogResult  Result=ofd.ShowDialog();
            if (Result != DialogResult.OK)
                return;
            string[] FilePaths = ofd.FileNames;
            //添加所有数据到地图中
            foreach(string Path in FilePaths)
            {
                MapGIS.GeoDataBase.SFeatureCls Sfeature=new SFeatureCls();
                Sfeature.Open(Path);
                MapGIS.GeoMap.VectorLayer Layer = new VectorLayer(VectorLayerType.SFclsLayer);
                Layer.AttachData(Sfeature);
                Layer.Name = Sfeature.ClsName;
                MyMap.Append(Layer);
            }
            mapControl1.ActiveMap = MyMap;//显示地图
            MyTree.BeginUpdateTree();//更新目录树
            MyTree.EndUpdateTree();
            MyTree.ExpandAll();//展开树节点
            mapControl1.Restore();//复位
        }


3测试运行



4 源码下载 点击下载

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值