前面的例子中已经介绍了如何使用MapControl显示地图,现在吧图层目录(workspacetree)与地图显示视图(MapControl)共同显示地图。
配置环境请参考前面的章节内容。
窗体设计:
MapWorkSpaceTree是来.net组件MapGIS.UI.Control.dll.
MapControl是来自.Net组件GISControl.dll
如果是没有将程序集引用到列表,手动添加program中的程序集到引用列表。
代码
打开地图代码
private void 打开地图ToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog OpenDoc = new OpenFileDialog(); OpenDoc.Filter = "地图文档(*.mapx)|*.Mapx"; DialogResult = OpenDoc.ShowDialog(); if (DialogResult != DialogResult.OK) return; Document MapDoc = mapWorkSpackTree1.Document; mapWorkSpackTree1.BeginUpdateTree(); MapDoc.Open(OpenDoc.FileName); mapWorkSpackTree1.EndUpdateTree(); Map MyMap = MapDoc.GetMaps().GetMap(0); mapControl1.ActiveMap = MyMap; mapControl1.Restore(); }
测试运行
这样的目录树显示效果并不是很好,和再应用中显示的工作目录不一样了,原因是缺少工作空间目录书的样式。
解决办法一:将工程的输出路径修改为安卓目录下的Program文件夹下。
解决办法二:复制安装目录Program文件夹下的MapGIS.WorkSpace.Style.dll到和MapGIS.UI.Control.dll相同文件夹下。
再次运行后就变成和我们工作空间相同的界面,并且具有相应的右键菜单。
源程序下载地址:源码地址