Ejemplo n.º 1
0
        private void UpdateMap()
        {
            if (!mapInit)
            {
                InitMap();
            }

            gMapControl1.Overlays.Clear();
            GMapOverlay markersOverlay = new GMapOverlay("markers");

            this.gMapControl1.Overlays.Add(markersOverlay);

            IEnumerable <DbTweet> tws = core.GetGeolocatedTweets(10);

            foreach (DbTweet tw in tws)
            {
                try
                {
                    Console.Out.WriteLine(">>> MAP: " + tw.Coord.Item1 + ", " + tw.Coord.Item2);
                    //gMapControl1.Visible = false;
                    GMarkerGoogle marker = null;

                    if (tw.Coord != null)
                    {
                        marker              = new GMarkerGoogle(new PointLatLng(tw.Coord.Item1, tw.Coord.Item2), new Bitmap(core.GetTopicImage(0, core.GetDbTopicFromId(tw.About[0]))));
                        marker.ToolTip      = new GMapToolTip(marker);
                        marker.ToolTip.Font = new Font(FontFamily.GenericSansSerif, 8);
                        marker.ToolTipText  = tw.Author + "\nPos: " + tw.PosValue + " - Neg: " + tw.NegValue + "\n\n";
                        String twText = tw.Text;
                        while (twText.Length > 40)
                        {
                            marker.Tag += twText.Substring(0, 40) + "\n";
                            twText      = twText.Substring(40);
                        }
                        marker.Tag += twText;
                        //marker.Offset = new Point(10, 10);
                    }

                    markersOverlay.Markers.Add(marker);
                }
                catch (Exception e)
                {
                    Console.Out.WriteLine("Problema al agregar marker: " + e.Message + "\n" + e.StackTrace);
                }
            }

            this.gMapControl1.Overlays.Add(markersOverlay);
            //gMapControl1.Visible = true;
            gMapControl1.Update();
        }