打开离线地图

回到首页  往前  往后

该范例程序会演示如何打开 太乐地图下载器 下载的库文件格式地图.azdb。

注意1:太乐地图.NET控件 名称统一命名为:MapControl

范例运行后界面如下图所示:

打开离线地图

源码

      /// <summary>

      /// 打开离线地图(离线地图格式支持 太乐地图下载器 下载的库文件格式.azdb)

      /// </summary>

      /// <param name="sender"></param>

      /// <param name="e"></param>

      private void button1_Click(object sender, System.EventArgs e)

       {

          using (FileDialog dlg = new OpenFileDialog())

           {

              // bin\Debug\azdb 目录下有一个现成的azdb文件

               dlg.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory + @"azdb";

               dlg.CheckPathExists = true;

               dlg.CheckFileExists = false;

               dlg.AddExtension = true;

               dlg.ValidateNames = true;

               dlg.Title = "选择文件(支持太乐地图下载器下载的库文件格式)";

               dlg.FilterIndex = 1;

               dlg.RestoreDirectory = false;

               dlg.Filter =

                  "太乐地图库文件 (*.azdb)|*.azdb";

 

              if (dlg.ShowDialog() == DialogResult.OK)

               {

                  String azdbFile = dlg.FileName;

                  if (!File.Exists(azdbFile))

                   {

                      MessageBox.Show("文件不存在!");

                      return;

                   }

 

                  // 初始化AZDBMapProvider

                  var azdbProvider = new AZDBMapProvider();

                  var setting = new AZDBMapProviderSetting { AZDBFile = azdbFile };

                   azdbProvider.Initialize(setting);

 

                  // 切换地图

                   MapControl.MapProvider = azdbProvider;

                   MapControl.ReloadMap();

 

                  // 定位到azdb格式地图所在位置和级别

                  var min = azdbProvider.MinZoom;

                  if (min == 0)

                       min = 1;

                  var max = azdbProvider.MaxZoom;

                   MapControl.Zoom = (double)(min + (max - min) / 2);

                   MapControl.Position = azdbProvider.GetBounds().LocationMiddle;

               }

           }

       }