using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using MapGIS.GeoMap;
using MapGIS.GeoDataBase;
using MapGIS.GeoObjects;
using MapGIS.GeoObjects.Geometry;
using MapGIS.GeoObjects.Info;
namespace WindowsFormsApplication6
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
MapGIS.UI.Controls.MapWorkSpaceTree mytree;
private void Form2_Load(object sender, EventArgs e)
{
mytree = new MapGIS.UI.Controls.MapWorkSpaceTree();
splitContainer1.Panel1.Controls.Add(mytree);
mytree.Dock = DockStyle.Fill;
timer1.Enabled = false;
}
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "打开地图文档";
ofd.Multiselect = false;
ofd.Filter = "地图文档(*.mapx)|*.mapx";
DialogResult dia = ofd.ShowDialog();
if (dia == DialogResult.OK)
{
Document MapDoc = mytree.Document;
MapDoc.Open(ofd.FileName);
Map Mymap = MapDoc.GetMaps().GetMap(0);
mapControl1.ActiveMap = Mymap;
mapControl1.Restore();
}
}
private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
{
//初始化地图文档对象
Document MapDoc = mytree.Document;
//初始化地图对象
Map myMap = new Map();
myMap.Name = "不认真听讲的孩子学不好编程";
if (MapDoc.Title == "") //判断当前工作空间中是否打开地图
{
//地图文档名称
MapDoc.Title = "呵呵";
//新建地图文档
MapDoc.New();
//将初始化的地图添加到地图文档
MapDoc.GetMaps().Append(myMap);
//展开所有节点
mytree.ExpandAll();
}
else
{
//添加地图到地图文档中
MapDoc.GetMaps().Append(myMap);
//地图显示视图置空
mapControl1.ActiveMap = null;
}
}
private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
{
Document Doc = mytree.Document;
Doc.Save();
}
private void 打开图层ToolStripMenuItem_Click(object sender, EventArgs e)
{
Server GeoServer = new Server(); // 初始化服务器对象
bool IsConn = GeoServer.Connect("MapGISLocal", "", ""); //链接服务器
if (IsConn == false) return; //判断服务器是否打开
DataBase GeoDB = GeoServer.OpenGDB("示例数据"); //打开地理数据库
//初始化简单要素类,指向数据库中简单要素类型
SFeatureCls Sf = GeoDB.GetXClass(XClsType.SFCls) as SFeatureCls;
bool IsSuccess = Sf.Open("海洋陆地", 1); //打开简单要素
if (IsSuccess == false) return; //判断简单要素是否打开成功
Document doc = mytree.Document; //初始化地图文档对象
doc.Title = "学编程要多动脑多动手"; //地图文档的名称
doc.New(); //新建地图文档
Map MyMap = new Map(); //初始化地图
MyMap.Name = "学编程不要被代码,去理解逻辑关系";
VectorLayer Mylayer = new VectorLayer(VectorLayerType.SFclsLayer); //初始化矢量图层
Mylayer.AttachData(Sf); //绑定简单要素类给图层
Mylayer.Name = Sf.ClsName; //将简单要素类的名称传给图层名称呢
MyMap.Append(Mylayer);//将图层添加到地图中
doc.GetMaps().Append(MyMap); //将地图添加到地图文档中
mapControl1.ActiveMap = MyMap; //显示地图
mapControl1.Restore(); //复位
mytree.ExpandAll(); //展开节点
}
private void 显示点ToolStripMenuItem_Click(object sender, EventArgs e)
{
Dot MyDot = new Dot(); //几何点对象
MyDot.X = 0;
MyDot.Y = 100;
PntInfo DotInfo = new PntInfo(); //参数信息
DotInfo.SymID = 34; // 子图号
DotInfo.Width = 100; //点宽度
DotInfo.Height = 100; //点高度
int[] Color = new int[3] { 6, 12, 255 };
DotInfo.OutClr = Color; //颜色
mapControl1.Display.Begin(); //开始绘制
mapControl1.Display.DispPoint(MyDot, DotInfo); //绘制
mapControl1.Display.End(); //结束绘制
}
Dots dots = null;
PntInfo dotInfo = null;
private void 显示轨迹ToolStripMenuItem_Click(object sender, EventArgs e)
{
dots = new Dots();
SFeatureCls sf = new SFeatureCls();
sf.Open("gdbp://MapGisLocal/MapGIS大赛/sfcls/讨厌学编程");
Map mymap = new Map();
VectorLayer Mylayer = new VectorLayer(VectorLayerType.SFclsLayer); //初始化矢量图层
Mylayer.AttachData(sf); //绑定简单要素类给图层
Mylayer.Name = sf.ClsName; //将简单要素类的名称传给图层名称呢
mymap.Append(Mylayer);
Mylayer.State = LayerState.UnVisible;
mapControl1.ActiveMap = mymap;
mapControl1.Restore();
GeoVarLine Myline = sf.GetGeometry(1) as GeoVarLine;
dots = Myline.Get2Dots();
dotInfo = new PntInfo(); //参数信息
dotInfo.SymID = 34; // 子图号
dotInfo.Width = 10; //点宽度
dotInfo.Height = 10; //点高度
int[] Color = new int[3] { 6, 12, 255 };
dotInfo.OutClr = Color;
timer1.Enabled = true;
}
int index = 0;
private void timer1_Tick(object sender, EventArgs e)
{
if (index < dots.Count)
{
Dot tempDot = dots.GetItem(index);
mapControl1.Display.Begin(); //开始绘制
mapControl1.Display.DispPoint(tempDot, dotInfo); //绘制
mapControl1.Display.End();
}
index++;
}
}
}
工程文件下载地址:<a target=_blank href="http://download.csdn.net/detail/wujianyouhun/7815779" target="_blank">点击下载</a>