一、下载安装与配置
(1)下载
对于开发桌面版本的地图程序,在Windows平台下DotSpatial是MapWinGIS控件的升级版本,它将作为MapWindow6的开发基础。
转到网址http://dotspatial.codeplex.com/releases/view/116883,进行下载。目前(2014年7月14)的最新版本是DotSpatial1.6。
(2)创建工程
1.启动Visual Studio 2010,创建一个Window窗体应用程序,如图1所示,选择好名称和位置后点击确定。
2.首先将工具箱显示出来,右击空白处,选择“添加选项卡”,如图2所示。
3.命名为DotSpatial,如图3所示。
图1
图2
图3
4.右击DotSpatial,选择“选择项”,如图4所示。
图4
5.此后会弹出图5所示对话框:
6.点击浏览,找到下载目录,选择DotSpatial.Controls.dll文件,选择打开,如图6。
7.添加引用。在解决方案管理器窗口,右击“TestDotSpatial”,选择添加引用,如图7所示,选择图示4个引用,点击确定。之后效果如图8所示。
8. 设置好后,保存工程。启动调试,启动程序。
注意:项目属性必须使用.NETFramework 4,不要使用.NET Framework 4 Client Profile版本的。如图9所示:
二、DotSpatial空间使用说明
(1)设计图形用户接口,以下图10为目标:
1. 添加两个Panel控件到窗口,如图11。
2.1选中第一个Panel,在属性窗口将命名改为为pnlOperations,并将dock属性设置成Top。如下图12
2.2同理,将第二个Panel命名为pnlMap,并将dock属性设置成Fill。
3.从DotSpatial工具栏里拖动一个map控件到pnlMap(第二个Panel控件)中,将其dock属性设置成Fill。如下图13所示。
4.添加一个group box控件到pnlOperations(第一个Panel控件)中,并命名为grbOperations。添加一个文本框。设置成目标样式(图10)。
5.在group box空间中添加按钮,并设置成目标样式(图10)
其中可以为按钮命令设置快捷键,方法是:在相应单词的首字母前面加上&符号。如下面两幅图14所示:
6.双击每个按钮,为每个按钮添加相应的消息相应处理函数,并将其修改为如下实现形式:
(C#语言)
private voidbtnLoad_Click(object sender, EventArgs e)
{
map1.AddLayer();
}
privatevoid btnClear_Click(object sender, EventArgs e)
{
map1.ClearLayers();
}
private void btnZoomIn_Click(object sender,EventArgs e)
{
map1.ZoomIn();
}
privatevoid btnZoomOut_Click(object sender, EventArgs e)
{
map1.ZoomOut();
}
private void btnZoomToExtent_Click(objectsender, EventArgs e)
{
map1.ZoomToMaxExtent();
}
privatevoid btnPan_Click(object sender, EventArgs e)
{
map1.FunctionMode = FunctionMode.Pan;
}
privatevoid btnInfo_Click(object sender, EventArgs e)
{
map1.FunctionMode = FunctionMode.Info;
}
privatevoid btnMeasure_Click(object sender, EventArgs e)
{
map1.FunctionMode = FunctionMode.Label;
}
private void btnSelect_Click(object sender,EventArgs e)
{
map1.FunctionMode = FunctionMode.Select;
}
privatevoid btnNone_Click(object sender, EventArgs e)
{
map1.FunctionMode = FunctionMode.None;
}
注意:需要在Form1.cs中添加using DotSpatial.Controls;
否则会提示错误:当前上下文中不存在名称“FunctionMode”
最后打开一个shp测试文件,运行可以得到如图10一样的效果图。
(还可以打开卫星影像,以及普通JPG图片,如下所示)
转自:http://blog.csdn.net/u010771437/article/details/37809943