Files @ 65c134a3d619
Branch filter:

Location: seniordesign-ui/Testing/Demo.Clouds/MainForm.cs - annotation

mkanning@CL-ENS241-10.cedarville.edu
Initial import of mapping source (huge commit)
using System;
using System.Windows.Forms;
using GMap.NET;
using GMap.NET.WindowsForms;
using GMap.NET.MapProviders;

namespace CloudsDemo
{
   public partial class MainForm : Form
   {
      // clouds boundaries
      readonly PointLatLng gtl = new PointLatLng(50.4066263673011, -127.620375523875);
      readonly PointLatLng gbr = new PointLatLng(21.652538062803, -66.517937876818);

      readonly GMapOverlay mainOverlay;
      readonly GMapImage clouds;

      public MainForm()
      {
         InitializeComponent();

         if(!DesignMode)
         {
            try
            {
               System.Net.IPHostEntry e = System.Net.Dns.GetHostEntry("www.bing.com");
            }
            catch
            {
               mapControl.Manager.Mode = AccessMode.CacheOnly;
               MessageBox.Show("No internet connection avaible, going to CacheOnly mode.", "GMap.NET - CloudsDemo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

            mapControl.MapProvider = GMapProviders.BingSatelliteMap;
            mapControl.OnMapZoomChanged += new MapZoomChanged(mapControl_OnMapZoomChanged);

            mainOverlay = new GMapOverlay("top");
            mapControl.Overlays.Add(mainOverlay);

            clouds = new GMapImage(gtl);
            clouds.Image = Properties.Resources.USOverlay;
            mainOverlay.Markers.Add(clouds);
         }
      }

      void mapControl_OnMapZoomChanged()
      {
         if(clouds != null)
         {
            var tl = mapControl.FromLatLngToLocal(gtl);
            var br = mapControl.FromLatLngToLocal(gbr);

            clouds.Position = gtl;
            clouds.Size = new System.Drawing.Size((int)(br.X - tl.X), (int)(br.Y - tl.Y));
         }
      }

      protected override void OnShown(EventArgs e)
      {
         base.OnShown(e);

         mapControl.SetZoomToFitRect(RectLatLng.FromLTRB(gtl.Lng, gtl.Lat, gbr.Lng, gbr.Lat));
      }
   }
}