首页 > 开发 > 综合 > 正文

MapObjects2.2 在C#中的应用(动态加载地图)

2024-07-21 02:25:41
字体:
来源:转载
供稿:网友
mapobjects2.2 在c#中的应用(动态加载地图)



关键字:mapobjects 2.2 c#



本篇文章实现了动态加载地图的功能,废话少说,功能实现见代码。





加载过程代码:



using system;

using system.drawing;

using system.collections;

using system.componentmodel;

using system.windows.forms;

using system.data;



namespace loadmap

{

/// <summary>

/// form1 的摘要说明。

/// </summary>

public class form1 : system.windows.forms.form

{

private axmapobjects2.axmap axmap1;

/// <summary>

/// 必需的设计器变量。

/// </summary>

private system.componentmodel.container components = null;



public form1()

{

//

// windows 窗体设计器支持所必需的

//

initializecomponent();



//

// todo: 在 initializecomponent 调用后添加任何构造函数代码

//

}



/// <summary>

/// 清理所有正在使用的资源。

/// </summary>

protected override void dispose( bool disposing )

{

if( disposing )

{

if (components != null)

{

components.dispose();

}

}

base.dispose( disposing );

}



#region windows 窗体设计器生成的代码

/// <summary>

/// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

/// </summary>

private void initializecomponent()

{

system.resources.resourcemanager resources = new system.resources.resourcemanager(typeof(form1));

this.axmap1 = new axmapobjects2.axmap();

((system.componentmodel.isupportinitialize)(this.axmap1)).begininit();

this.suspendlayout();

//

// 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;

//

// form1

//

this.autoscalebasesize = new system.drawing.size(6, 14);

this.clientsize = new system.drawing.size(600, 357);

this.controls.add(this.axmap1);

this.name = "form1";

this.text = "form1";

this.load += new system.eventhandler(this.form1_load);

((system.componentmodel.isupportinitialize)(this.axmap1)).endinit();

this.resumelayout(false);



}

#endregion



/// <summary>

/// 应用程序的主入口点。

/// </summary>

[stathread]

static void main()

{

application.run(new form1());

}



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();

}

}

}



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表