地图基础操作

回到首页  往前  往后

该范例程序会演示如何对地图进行移动、放大、缩小、刷新、清除地图缓存操作,以及如何显示地图瓦片的网格信息。

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

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

移动

源码

      /// <summary>

      /// 移动地图

      /// </summary>

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

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

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

       {

           MapControl.ToolBar = MapToolBar.Drag;

       }

放大

源码

      /// <summary>

      /// 放大地图

      /// </summary>

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

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

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

       {

           MapControl.Zoom += 1;

       }

缩小

源码

      /// <summary>

      /// 缩小地图

      /// </summary>

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

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

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

       {

           MapControl.Zoom -= 1;

       }

刷新

源码

      /// <summary>

      /// 刷新地图

      /// </summary>

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

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

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

       {

           MapControl.ReloadMap();

       }

清除缓存

源码

      /// <summary>

      /// 清除地图缓存

      /// </summary>

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

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

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

       {

           MapControl.Manager.CancelTileCaching();

           MapControl.Manager.MemoryCache.Clear();

          var pcount = MapControl.Manager.PrimaryCache.DeleteOlderThan(DateTime.Now, MapControl.MapProvider.DbId);

          if (null != MapControl.Manager.SecondaryCache)

           {

              var scount = MapControl.Manager.SecondaryCache.DeleteOlderThan(DateTime.Now, MapControl.MapProvider.DbId);

           }

           MapControl.Manager.StartTileCaching();

           MapControl.ReloadMap();

          MessageBox.Show(String.Format("共清除地图缓存{0}条", pcount));

       }

显示网格

源码

      /// <summary>

      /// 显示地图瓦片的网格信息

      /// </summary>

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

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

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

       {

           MapControl.ShowTileGridLines = checkBox1.Checked;

       }