• 首页
  • 小学语文
  • 中学语文
  • 中学英语
  • 免费论文
  • 教学随笔
  • 学生作文
  • 综合考试
  • 试题教案
  • 育儿话题
  • 教学资源
  • 编程技术
  • 博客
  • MapObjects2.2 在C#中的应用(动态加载地图)

    日期:2003-03-27  地址:  作者:

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

             }

         }

    }

     

     

    对 MapObjects2.2 在C#中的应用(动态加载地图) 文章的评论    [查看网友评论]

    验证码:
    匿名发表: