示例#1
0
        public static void AddMarker(PointLatLng pos, GMapControl MainMap, String id, bool redColor = false)
        {
            GMarkerGoogle marker = new GMarkerGoogle(new PointLatLng(pos.Lat, pos.Lng), redColor == false ? GMarkerGoogleType.green : GMarkerGoogleType.red);

            if (redColor)
            // foreach (var item in terminal_request.LoadData(id))
            {
                DateTime DateTime1 = Convert.ToDateTime(terminal_request.LoadData(id)[0].DateTime);
                TimeSpan span      = DateTime.Now - DateTime1;

                marker.ToolTipText = marker.ToolTipText +
                                     Environment.NewLine + "Date Time : "
                                     + span.ToString(@"hh\:mm") + Environment.NewLine
                                     + "Terminal : "
                                     + Convert.ToString(terminal_request.LoadData(id)[0].Description) + Environment.NewLine
                                     + "Type : "
                                     + Convert.ToString(terminal_request.LoadData(id)[0].rt) + Environment.NewLine
                                     + "Querie : "
                                     + Convert.ToString(terminal_request.LoadData(id)[0].req) + Environment.NewLine
                                     + "---------------------------------------";
                marker.Tag = terminal_request.LoadData(id)[0].Id;
            }



            markersOverlay.Markers.Add(marker);
            // MainMap.Overlays.Add(markersOverlay);
        }
示例#2
0
        public MainForm(PokeRoadieClient client)
        {
            InitializeComponent();
            Client = client;
            Map    = new GMapControl();

            Controls.Add(Map);

            // Initialize map:
            // Use google provider
            Map.MapProvider = GoogleMapProvider.Instance;

            // Get tiles from server only
            Map.Manager.Mode = AccessMode.ServerOnly;

            // Do not use proxy
            GMapProvider.WebProxy = null;

            // Zoom min/max
            Map.CenterPen = new Pen(Color.Red, 2);
            Map.MinZoom   = trackBar.Maximum = 1;
            Map.MaxZoom   = trackBar.Maximum = 20;

            // Set zoom
            trackBar.Value = 17;
            Map.Zoom       = trackBar.Value;
        }
        public CustomMarkerBase(GMapControl map, GMapMarker marker, string title)
        {
            _map = map;

            _marker       = marker;
            _marker.Shape = this;

            _popup = new Popup();
            _label = new Label();


            this.Loaded              += new RoutedEventHandler(MarkerControl_Loaded);
            this.Unloaded            += new RoutedEventHandler(MarkerControl_Unloaded);
            this.SizeChanged         += new SizeChangedEventHandler(MarkerControl_SizeChanged);
            this.MouseEnter          += new MouseEventHandler(MarkerControl_MouseEnter);
            this.MouseLeave          += new MouseEventHandler(MarkerControl_MouseLeave);
            this.MouseMove           += new MouseEventHandler(MarkerControl_MouseMove);
            this.MouseLeftButtonUp   += new MouseButtonEventHandler(MarkerControl_MouseLeftButtonUp);
            this.MouseLeftButtonDown += new MouseButtonEventHandler(MarkerControl_MouseLeftButtonDown);

            _popup.Placement = PlacementMode.Mouse;
            {
                _label.Background      = Brushes.Blue;
                _label.Foreground      = Brushes.White;
                _label.BorderBrush     = Brushes.WhiteSmoke;
                _label.BorderThickness = new Thickness(2);
                _label.Padding         = new Thickness(5);
                _label.FontSize        = 22;
                _label.Content         = title;
            }
            _popup.Child = _label;
        }
示例#4
0
        static void DoDebug()
        {
            if (map != null)
            {
                if (map.Overlays.Count != 0)
                {
                    while (polygons.Markers.Count > 7)
                    {
                        polygons.Markers.RemoveAt(0);
                    }
                    //polygons.Markers.Clear();
                    return;
                }
            }

            polygons = new GMapOverlay("polygons");
            map      = new GMapControl();
            var form = new Form()
            {
                Size = new Size(1024, 768), WindowState = FormWindowState.Maximized
            };

            map.Dock        = DockStyle.Fill;
            map.MapProvider = GMapProviders.GoogleSatelliteMap;
            map.MaxZoom     = 20;
            map.Overlays.Add(polygons);
            form.Controls.Add(map);
            form.Show();
        }
示例#5
0
        /// <summary>
        /// regenerates shape of route
        /// </summary>
        public virtual void RegenerateShape(GMapControl map)
        {
            if (map != null)
            {
                this.Map = map;

                if (Points.Count > 1)
                {
                    Position = Points[0];

                    var localPath = new List <System.Windows.Point>(Points.Count);
                    var offset    = Map.FromLatLngToLocal(Points[0]);
                    foreach (var i in Points)
                    {
                        var p = Map.FromLatLngToLocal(i);
                        localPath.Add(new System.Windows.Point(p.X - offset.X, p.Y - offset.Y));
                    }

                    var shape = map.CreateRoutePath(localPath);

                    if (this.Shape is Path)
                    {
                        (this.Shape as Path).Data = shape.Data;
                    }
                    else
                    {
                        this.Shape = shape;
                    }
                }
                else
                {
                    this.Shape = null;
                }
            }
        }
示例#6
0
        /// <summary>
        /// Initializes the map control.
        /// </summary>
        /// <param name="mcSourceMapControl">The mc source map control.</param>
        private void InitMapControl(GMapControl mcSourceMapControl)
        {
            Properties.Settings settings = Properties.Settings.Default;

            GMapProvider.WebProxy             = WebRequest.DefaultWebProxy;
            GMapProvider.WebProxy.Credentials = CredentialCache.DefaultCredentials;

            this.mcMapControl.DragButton         = MouseButton.Left;
            this.mcMapControl.Manager.Mode       = AccessMode.ServerAndCache;
            this.mcMapControl.MouseWheelZoomType = MouseWheelZoomType.MousePositionAndCenter;
            this.mcMapControl.ShowCenter         = false;
            this.mcMapControl.MinZoom            = 2;
            this.mcMapControl.MaxZoom            = 22;
            //this.mcMapControl.Position = new PointLatLng(settings.InitialLatitude, settings.InitialLongitude);
            this.mcMapControl.Position = mcSourceMapControl.Position;
            //this.mcMapControl.Zoom = settings.InitialZoom;
            this.mcMapControl.Zoom = mcSourceMapControl.Zoom;
            //this.mcMapControl.MapProvider = MainWindow.GetProviderFromString(settings.InitialMap);
            this.mcMapControl.MapProvider = mcSourceMapControl.MapProvider;

            foreach (var device in this.RFDeviceViewModelCollection)
            {
                this.mcMapControl.Markers.Add(device.Marker);
            }
        }
        public MapAdapter(GMapControl mapControl)
        {
            _context = new WindowsFormsSynchronizationContext();

            _mapControl = mapControl;

            IObservable <Unit> positionChanged = Observable
                                                 .FromEvent <PositionChanged, PointLatLng>(
                action => point => action(point),
                handler => _mapControl.OnPositionChanged += handler,
                handler => _mapControl.OnPositionChanged -= handler)
                                                 .Select(i => Unit.Default);


            IObservable <Unit> mapZoom = Observable
                                         .FromEvent <MapZoomChanged, Unit>(
                action => () => action(Unit.Default),
                handler => _mapControl.OnMapZoomChanged += handler,
                handler => _mapControl.OnMapZoomChanged -= handler);


            MapChanged = positionChanged
                         .Merge(mapZoom)
                         .ObserveOn(ThreadPoolScheduler.Instance);

            mapControl.OnMapDrag += MapControl_OnMapDrag;
            //mapControl.OnPolygonClick += Control_OnPolygonClick;

            mapControl.OnPolygonEnter += MapControl_OnPolygonEnter;
            mapControl.OnPolygonLeave += MapControl_OnPolygonLeave;

            //mapControl.OnRouteClick += MapControl_OnRouteClick;
            mapControl.OnRouteEnter += MapControl_OnRouteEnter;
            mapControl.OnRouteLeave += MapControl_OnRouteLeave;
        }
示例#8
0
        public void InitMap(GMapControl gMapCon, double LatInit, double LongInit, string MapName)
        {
            gMapCon.Overlays.Clear();
            gMapCon.DragButton = MouseButtons.Left;
            gMapCon.CanDragMap = true;
            switch (MapName)
            {
            case "Arcgis_Topo_Map": { gMapCon.MapProvider = GMapProviders.ArcGIS_World_Topo_Map; }
            break;

            case "Google_Satellite":
            { gMapCon.MapProvider = GMapProviders.GoogleSatelliteMap; }
            break;

            case "Google_Map":
            { gMapCon.MapProvider = GMapProviders.GoogleMap; }
            break;

            case "Yandex_Map":
            { gMapCon.MapProvider = GMapProviders.YandexMap; }
            break;
            }


            gMapCon.Position   = new PointLatLng(LatInit, LongInit);
            gMapCon.MinZoom    = 0;
            gMapCon.MaxZoom    = 24;
            gMapCon.Zoom       = 16;
            gMapCon.AutoScroll = true;
        }
示例#9
0
 public void showParcels(GMapControl gMapCon, Color clr, List <Parcel> pl)
 {
     foreach (Parcel prs in pl)
     {
         this.showParcel(gMapCon, clr, prs);
     }
 }
示例#10
0
        // positions map on the given keyword location
        public void ShowMapByKeyword(GMapControl map, string keywords, string toolTipText)
        {
            map.SetPositionByKeywords(keywords);
            PointLatLng point = new PointLatLng(map.Position.Lat, map.Position.Lng);

            AddMarkerWithTooltip(map, point, toolTipText);
        }
示例#11
0
        void RefreshMap(GMapControl control, string stroke, int count)
        {
            polyOverlay.Clear();


            listPolygonGlobal = Distributor(stroke, count);

            List <PointLatLng> points = new List <PointLatLng>();

            foreach (var polygon in listPolygonGlobal)
            {
                poly++;
                foreach (var point in polygon)
                {
                    dots++;
                    points.Add(new PointLatLng(point[1], point[0]));
                }
                GMapPolygon polygonGMap = new GMapPolygon(points, "some");
                polygonGMap.Fill   = new SolidBrush(Color.FromArgb(50, Color.Red));
                polygonGMap.Stroke = new Pen(Color.Red, 1);
                points             = new List <PointLatLng>();
                polyOverlay.Polygons.Add(polygonGMap);
            }
            gMapControl.Overlays.Add(polyOverlay);


            gMapControl.Zoom -= 1;
            gMapControl.Zoom += 1;

            rTextBox.Text = $"Полигонов: {poly}, Всего точек: {dots}.";
            poly          = 0; dots = 0;
        }
示例#12
0
        internal GMapForm(GMapControl gMap, GMapControl gMapMini)
        {
            this.gMap           = gMap;
            gMap.MapProvider    = GoogleMapProvider.Instance;
            GMaps.Instance.Mode = AccessMode.ServerOnly;
            gMap.SetPositionByKeywords("Moscow, Russia");
            gMap.ShowCenter = false;
            gMap.DragButton = MouseButtons.Left;

            //Preparing overlay for routes from database
            GMapOverlay historyOverlay = new GMapOverlay("HistoryOverlay");

            mainMapRoute = new EmbededRoute(historyOverlay, Color.Blue, Color.Orange, "MainRoute");
            gMap.Overlays.Add(historyOverlay);

            //Preparing overlay for current session routes
            GMapOverlay currentOverlay = new GMapOverlay("CurrentSessionOverlay");

            markers = currentOverlay.Markers;
            gMap.Overlays.Add(currentOverlay);

            this.gMapMini        = gMapMini;
            gMapMini.MapProvider = GoogleMapProvider.Instance;
            gMapMini.SetPositionByKeywords("Moscow, Russia");
            gMapMini.ShowCenter = false;
            gMapMini.DragButton = MouseButtons.Left;

            GMapOverlay gmapMiniOverlay = new GMapOverlay("GmapMiniOverlay");

            mapMiniMarkers = gmapMiniOverlay.Markers;
            miniMapRoute   = new EmbededRoute(gmapMiniOverlay, Color.Green, Color.Orange, "MiniRoute");
            gMapMini.Overlays.Add(gmapMiniOverlay);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="AbstractMarker" /> class.
        /// </summary>
        /// <param name="mcMapControl">The mc map control.</param>
        /// <param name="mmMarker">The mm marker.</param>
        /// <param name="strToolTip">The string tool tip.</param>
        protected AbstractMarker(GMapControl mcMapControl, GMapMarker mmMarker, string strToolTip)
        {
            this.DataContext  = this;
            this.mcMapControl = mcMapControl;
            this.mmMarker     = mmMarker;

            this.label = new Label
            {
                //Background = Brushes.Yellow,
                //Foreground = Brushes.Black,
                Background      = SystemColors.InfoBrush,
                Foreground      = SystemColors.InfoTextBrush,
                BorderBrush     = Brushes.Black,
                BorderThickness = new Thickness(2),
                Padding         = new Thickness(3),
                FontSize        = 12,
                FontFamily      = new FontFamily("Courier New"),
                Content         = strToolTip
            };

            this.popup = new Popup
            {
                Placement = PlacementMode.Mouse,
                Child     = label
            };

            this.Cursor = Cursors.Hand;

            MouseMove           += MarkerControl_MouseMove;
            MouseLeftButtonUp   += MarkerControl_MouseLeftButtonUp;
            MouseLeftButtonDown += MarkerControl_MouseLeftButtonDown;

            MouseEnter += MarkerControl_MouseEnter;
            MouseLeave += MarkerControl_MouseLeave;
        }
示例#14
0
 public GMapMarkerPieAnimate(GMapControl map, PointLatLng pos, int r = 300)
     : base(map, pos)
 {
     this.r      = r;
     this.zoom   = map.Zoom;
     this.radius = (int)(r / map.MapProvider.Projection.GetGroundResolution((int)zoom, Position.Lat)) / 2;
 }
示例#15
0
        public static void UpdateMap(GMapControl map, double latitude, double Longitude, double altitude, double fallingSpeed, double windSpeed, int course)
        {
            //string Latstr = Convert.ToString(latitude);
            //string longstr = Convert.ToString(Longitude);

            //if (Latstr == "X" && longstr == "X")
            //{
            //    return;
            //}
            if (!isStartingPointSet)
            {
                map.Position       = new PointLatLng(latitude, Longitude);
                isStartingPointSet = true;
            }
            GMapOverlay   markersOverlay = map.Overlays[0];
            GMarkerGoogle marker         = new GMarkerGoogle(new PointLatLng(latitude, Longitude), GMarkerGoogleType.green);

            markersOverlay.Markers.Add(marker);

            // landing location prediction
            if (altitude > 10)
            {
                markersOverlay.Markers.Remove(landingMarker);
                PointLatLng landingLocation = CalculateLandingLocation(latitude, Longitude, altitude, fallingSpeed, windSpeed, course);
                landingMarker = new GMarkerGoogle(landingLocation, GMarkerGoogleType.red);
                markersOverlay.Markers.Add(landingMarker);
            }
        }
        public CustomMarkerRed(GMapControl map, GMapMarker marker, string title)
            : base(map, marker, title)
        {
            this.InitializeComponent();

            base.SetImage(icon);
        }
示例#17
0
        public void SetUpGMap()
        {
            try
            {
                Gmap = new GMapControl();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            Gmap.MaxZoom        = MaxZoom;
            Gmap.MinZoom        = MinZoom;
            Gmap.Zoom           = 5;
            Gmap.CenterPosition = new PointLatLng(37.0902, -95.7129);
            Gmap.ShowCenter     = false;
            Gmap.MapProvider    = GoogleSatelliteMapProvider.Instance; //satellite view
            Gmap.Manager.Mode   = AccessMode.ServerAndCache;
            var cwd        = Directory.GetCurrentDirectory();
            var oneLevelUp = cwd.Substring(0, cwd.LastIndexOf(@"\"));

            Gmap.CacheLocation = oneLevelUp + @"\MapCache";
            Console.WriteLine("The Gmap.CacheLocation is {0}", Gmap.CacheLocation);
            Gmap.MouseMove += GMap_MouseMove;
            //Gmap.MouseLeftButtonDown += GMap_MouseLeftButtonDown;
            Gmap.IgnoreMarkerOnMouseWheel = true;
            Gmap.AllowDrop = true;
            //Gmap.ContextMenu = new ContextMenu();
            //Gmap.DragButton = MouseButton.Left;
            Gmap.MouseRightButtonUp += _showContextMenu;
        }
示例#18
0
        /// <summary>
        /// regenerates shape of polygon
        /// </summary>
        public virtual void RegenerateShape(GMapControl map)
        {
            if (map != null)
            {
                //this.Map = map;

                //if( Points.Count > 1 )
                //{
                //    Position = Points [0];

                //    var localPath = new List<System.Windows.Point>( Points.Count );
                //    var offset = Map.FromLatLngToLocal( Points [0] );
                //    foreach( var i in Points )
                //    {
                //        var p = Map.FromLatLngToLocal( i );
                //        localPath.Add( new System.Windows.Point( p.X - offset.X , p.Y - offset.Y ) );
                //    }

                //    var shape = map.CreatePolygonPath( localPath );

                //    if( this.Shape is Path )
                //    {
                //        ( this.Shape as Path ).Data = shape.Data;
                //    }
                //    else
                //    {
                //        this.Shape = shape;
                //    }
                //}
                //else
                //{
                //    this.Shape = null;
                //}
            }
        }
示例#19
0
        public MapArr(GMapControl m, string location)
        {
            Map      = m;
            Location = location;

            Map.SetPositionByKeywords(Location);
        }
示例#20
0
        public FormPrincipal()
        {
            InitializeComponent();
            DatabaseContext DatabaseContext = new DatabaseContext();

            if (DatabaseContext.Municipios.Count() == 0)
            {
                DatabaseContext.DefaultData();
            }

            GoogleMapProvider.Instance.ApiKey = "AIzaSyDSDWEGxqXsPOcVbeR8sSts1FJL0j7Fk8w";
            GMapControl.MinZoom      = 3;
            GMapControl.MaxZoom      = 19;
            GMapControl.Zoom         = 17;
            GMapControl.Manager.Mode = AccessMode.ServerAndCache;
            GMapControl.MapProvider  = GMapProviders.GoogleMap;
            GMapControl.Position     = new PointLatLng()
            {
                Lat = -19.982513, Lng = -43.9456905
            };
            GMapControl.DragButton = MouseButtons.Left;
            GMapControl.ShowCenter = false;
            GMapControl.Overlays.Add(GMapOverlay);
            GMapControl.Refresh();

            GerarRota();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="RectangleMarker" /> class.
        /// </summary>
        /// <param name="mcMapControl">The mc map control.</param>
        /// <param name="mmMarker">The mm marker.</param>
        /// <param name="strToolTip">The tooltip.</param>
        public RectangleMarker(GMapControl mcMapControl, GMapMarker mmMarker, string strToolTip) :
            base(mcMapControl, mmMarker, strToolTip)
        {
            InitializeComponent();

            this.DataContext = this;
        }
示例#22
0
        public void UpdateLineColor()
        {
            mainForm    main     = mainForm.GetInstance();
            GMapControl map      = main.GetmainMap();
            bool        provider = map.NegativeMode;
            Color       color    = Color.Empty;

            if (provider == false)
            {
                color = Color.CornflowerBlue;
            }
            else
            {
                color = Color.Green;
            }
            foreach (GMapPolygon line in Lines)
            {
                line.Stroke = new Pen(color);
            }
            foreach (double radius in Polygons.Keys)
            {
                GMapPolygon polygon = Polygons[radius];
                polygon.Stroke = new Pen(color);
            }
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="TriangleMarker" /> class.
        /// </summary>
        /// <param name="mcMapControl">The mc map control.</param>
        /// <param name="mmMarker">The mm marker.</param>
        /// <param name="strToolTip">The tooltip.</param>
        public DiamondMarker(GMapControl mcMapControl, GMapMarker mmMarker, string strToolTip) :
            base(mcMapControl, mmMarker, strToolTip)
        {
            InitializeComponent();

            this.DirectionAngle.Angle = 0;
        }
        private void UserControl1_Load(object sender, EventArgs e)
        {
            gmap.MapProvider             = GMap.NET.MapProviders.GoogleMapProvider.Instance;
            GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly;
            gmap.SetPositionByKeywords("Colombia");
            gmap.ShowCenter = false;
            GMapOverlay markers = new GMapOverlay("markers");
            ArrayList   grupos  = principal.gruposInvestigacion;

            foreach (GruposInvestigacion g in grupos)
            {
                GMapControl auxiliar = new GMapControl();
                auxiliar.SetPositionByKeywords(g.ciudad);
                Random      r          = new Random();
                double      incremento = r.NextDouble();
                double      lat        = auxiliar.Position.Lat - 0.5 + (r.NextDouble() * 1.0);
                double      lng        = auxiliar.Position.Lng - 0.5 + (r.NextDouble() * 1.0);
                PointLatLng pos        = new PointLatLng(lat, lng);

                GMapMarker marker = new GMarkerGoogle(pos,
                                                      GMarkerGoogleType.orange_dot);
                marker.Tag = g.nombre;
                markers.Markers.Add(marker);
                gmap.Overlays.Add(markers);
            }
        }
示例#25
0
        /// <summary>
        /// 定位到场地
        /// </summary>
        /// <param name="sb"></param>
        public static void ZoomToSite(SiteBean sb, GMapControl gMapCtrl)
        {
            PointLatLng sitepoint = new PointLatLng(sb.Latitude, sb.Longtitude);

            gMapCtrl.Position = sitepoint;
            gMapCtrl.Zoom     = 10;
        }
示例#26
0
        public Car(string title, PointLatLng point, GMapControl map) : base(title)
        {
            this.point = point;
            pass       = null;

            gMap = map;
        }
示例#27
0
        public UserMarker(GMapControl window, GMapMarker marker, string picPathName, string title)
        {
            this.InitializeComponent();

            this.MainWindow  = window;
            this.Marker      = marker;
            this.icon.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri(picPathName, UriKind.RelativeOrAbsolute));


            Popup = new Popup();
            Label = new Label();

            this.Unloaded         += CustomMarkerDemo_Unloaded;
            this.Loaded           += CustomMarkerDemo_Loaded;
            this.SizeChanged      += CustomMarkerDemo_SizeChanged;
            this.MouseEnter       += MarkerControl_MouseEnter;
            this.MouseLeave       += MarkerControl_MouseLeave;
            this.MouseDoubleClick += UserMarker_MouseDoubleClick;

            Popup.Placement = PlacementMode.Mouse;
            {
                Label.Background      = Brushes.WhiteSmoke;
                Label.Foreground      = Brushes.Black;
                Label.BorderBrush     = Brushes.Gray;
                Label.BorderThickness = new Thickness(1);
                Label.Padding         = new Thickness(6);
                Label.FontSize        = 10;
                Label.Content         = title;
            }
            Popup.Child = Label;
        }
示例#28
0
        /// <summary>
        /// regenerates shape of polygon
        /// </summary>
        public virtual void RegeneratePolygonShape(GMapControl map)
        {
            this.map = map;

            if (map != null && Polygon.Count > 1)
            {
                var localPath = new List <System.Windows.Point>();
                var offset    = Map.FromLatLngToLocal(Polygon[0]);
                foreach (var i in Polygon)
                {
                    var p = Map.FromLatLngToLocal(new PointLatLng(i.Lat, i.Lng));
                    localPath.Add(new System.Windows.Point(p.X - offset.X, p.Y - offset.Y));
                }

                var shape = map.CreatePolygonPath(localPath);

                if (this.Shape != null && this.Shape is Path)
                {
                    (this.Shape as Path).Data = shape.Data;
                }
                else
                {
                    this.Shape = shape;
                }
            }
        }
示例#29
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="_gmapControl">地图控件</param>
 /// <param name="_element">图元</param>
 public EditLine(GMapControl _gmapControl, IMFElement _element)
 {
     gmapControl = _gmapControl;
     route       = _element as GMapRoute;
     element     = _element;
     pointList   = new List <Point_GMap>();
 }
示例#30
0
        private void SetupModel()
        {
            SelectedPath = String.Empty;
            Distance     = 0;
            Bearing      = 0;

            // set cache mode only if no internet avaible
            //if (!Stuff.PingNetwork("pingtest.com"))
            //{
            //    MainMap.Manager.Mode = AccessMode.CacheOnly;
            //    MessageBox.Show("No internet connection available, going to CacheOnly mode.", "GMap.NET - Demo.WindowsPresentation", MessageBoxButton.OK, MessageBoxImage.Warning);
            //}

            // config map
            MainMap              = (GMapControl)Application.Current.MainWindow.FindName("MainMap");
            MainMap.MapProvider  = GMapProviders.OpenStreetMap;
            MainMap.Manager.Mode = AccessMode.ServerAndCache;

            MainMap.MinZoom = 0;
            MainMap.MaxZoom = 24;
            MainMap.Zoom    = 18;

            GMapMarker marker = new GMapMarker(new PointLatLng(0, 0));

            marker.ZIndex = -1;
            MainMap.Markers.Add(marker);

            this.timer.Interval = new TimeSpan(UpdateInterval);
            this.timer.Start();
            readThread.Start();
        }