步骤一: 创建Windows应用程序
步骤二: 拖动控件到窗体,生成的代码为:
定义变量:private AxMapObjects2.AxMap axMap1;
在InitializeComponent中的代码如下:
this.axMap1 = new AxMapObjects2.AxMap();
//
// axMap1
//
this.axMap1.Dock = System.Windows.Forms.DockStyle.Fill;
this.axMap1.Location = new System.Drawing.Point(0, 0);
this.axMap1.Name = "axMap1";
this.axMap1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axMap1.OcxState")));
this.axMap1.Size = new System.Drawing.Size(600, 357);
this.axMap1.TabIndex = 0;
// Loa事件处理函数
private void Form1_Load(object sender, System.EventArgs e)
{
//定义数据连接
MapObjects2.DataConnection dc = new MapObjects2.DataConnectionClass();
//定义图层
MapObjects2.MapLayer layer = new MapObjects2.MapLayerClass();
//我的地图文件都存在了"G://LoadMap//bin//Debug//"目录下,请替换为自己的地图目录
dc.Database = "G://LoadMap//bin//Debug//";
//连接不成功就退出
if(!dc.Connect())
{
MessageBox.Show("在指定的文件夹下没找到图层数据文件");
Application.Exit();
}
else//连接成功了就加载地图
{
/*
* 地图加载顺序一般是面、线、点,先加载的在地图的最下
*/
// 加载图层States,
layer.GeoDataset = dc.FindGeoDataset("States");
axMap1.Layers.Add(layer);
//加载图层Rivers,
layer.GeoDataset = dc.FindGeoDataset("Rivers");
axMap1.Layers.Add(layer);
// 加载其它图层...
}
//必须进行刷新后才能显示
axMap1.Refresh();
}