Beispiel #1
0
        private void addMarker(double X, double Y)
        {
            sendGpsPoint(X, Y);
            GMap.NET.PointLatLng coors          = new GMap.NET.PointLatLng(X, Y);
            GMapOverlay          markersOverlay = new GMapOverlay("markers");
            GMarkerCross         marker         = new GMarkerCross(coors);

            gmap.UpdateMarkerLocalPosition(marker);
            markersOverlay.Markers.Add(marker);
            gmap.Overlays.Add(markersOverlay);

            double lat         = coors.Lat;
            double lng         = coors.Lng;
            string coordinates = ++numMarkers + ") " + lat.ToString() + "," + lng.ToString();

            futurePointsList.TopIndex = futurePointsList.Items.Add(coordinates);

            GMapOverlay polyOverlay            = new GMapOverlay("polygons");
            List <GMap.NET.PointLatLng> points = new List <GMap.NET.PointLatLng>();

            points.Add(lastPoint);
            points.Add(coors);
            GMapPolygon polygon = new GMapPolygon(points, "mypolygon");

            polygon.Fill   = new SolidBrush(Color.FromArgb(50, Color.Red));
            polygon.Stroke = new Pen(Color.Red, 1);
            polyOverlay.Polygons.Add(polygon);
            gmap.Overlays.Add(polyOverlay);
            lastPoint = coors;
            gmap.Zoom++;
            gmap.Zoom--;
        }
Beispiel #2
0
        private void AddMarker(Single a, Single b, string c)
        {
            var marker1 = new GMarkerCross(new PointLatLng(a, b));

            marker1.ToolTip     = new GMapBaloonToolTip(marker1);
            marker1.ToolTipMode = MarkerTooltipMode.Always;
            marker1.ToolTipText = "Call# " + c;
            marker1.Tag         = "Call# " + c;
            // marker1.IsVisible = false;

            markersOverlay1.Markers.Add(marker1);
        }
        private void map_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                lat = gmap.FromLocalToLatLng(e.X, e.Y).Lat;
                lng = gmap.FromLocalToLatLng(e.X, e.Y).Lng;

                GMarkerCross markerforPanorama = new GMarkerCross(new PointLatLng(lat, lng));
                panoramaoverlay.Markers.Add(markerforPanorama);
                gmap.Overlays.Add(panoramaoverlay);

                // Загрузить картинку места по координатам и 3 трекбарам
                LoadStreetImage(lat, lng, trackBar1.Value, trackBar2.Value, trackBar3.Value);
            }
        }
Beispiel #4
0
        public MainForm()
        {
            InitializeComponent();

            pageGps       = new GPS(this);
            pageTransport = new Transport(this);
            pageSearch    = new Search(this);

#if DEBUG
            MainMap.Manager.Mode           = AccessMode.ServerAndCache;
            menuItemServerAndCache.Checked = true;
            menuItemEnableGrid.Checked     = true;
            menuItemGPSenabled.Checked     = false;
            MainMap.ShowTileGridLines      = true;
#else
            menuItemGPSenabled.Checked = false;
            MainMap.Manager.Mode       = AccessMode.CacheOnly;
            menuItemCacheOnly.Checked  = true;
#endif
            MainMap.MapProvider = GMapProviders.LithuaniaMap;
            MainMap.MaxZoom     = 11;
            MainMap.MinZoom     = 1;
            MainMap.Zoom        = MainMap.MinZoom + 1;
            MainMap.Position    = start;

            MainMap.OnMapTypeChanged  += new MapTypeChanged(MainMap_OnMapTypeChanged);
            MainMap.OnMapZoomChanged  += new MapZoomChanged(MainMap_OnMapZoomChanged);
            MainMap.OnPositionChanged += new PositionChanged(MainMap_OnPositionChanged);

            // add custom layers
            {
                objects = new GMapOverlay("objects");
                MainMap.Overlays.Add(objects);

                top = new GMapOverlay("top");
                MainMap.Overlays.Add(top);
            }

            // gps pos
            gpsPos           = new GMarkerCross(MainMap.Position);
            gpsPos.IsVisible = false;
            top.Markers.Add(gpsPos);

#if DEBUG
            // transparent marker test
            GMapMarkerTransparentGoogleGreen goo = new GMapMarkerTransparentGoogleGreen(MainMap.Position);
            goo.ToolTipMode = MarkerTooltipMode.Always;
            goo.ToolTipText = "Welcome to Lithuania! ;}";
            objects.Markers.Add(goo);
#endif

            // hook for volume up/down zooming
            hook.HookEvent += new HookKeys.HookEventHandler(hook_HookEvent);

            // test performance
            if (PerfTestEnabled)
            {
                timer.Interval = 111;
                timer.Tick    += new EventHandler(timer_Tick);
                timer.Enabled  = true;
            }
        }
Beispiel #5
0
        private void LoadGroundTrack()
        {
            gMapControl1.MapProvider     = GMap.NET.MapProviders.GoogleSatelliteMapProvider.Instance;
            GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly;

            GMapOverlay markersOverlay = new GMapOverlay("markers");
            GMapOverlay linesOverlay   = new GMapOverlay("lines");

            //GMapOverlay polyOverlay = new GMapOverlay("polygons");
            //List<PointLatLng> points = new List<PointLatLng>();

            // Test for coordinates
            TrackMethods       _trackMethods = new TrackMethods();
            List <PointLatLng> pointList     = new List <PointLatLng>();

            foreach (TLE_Sat sat in _tle_sat_list)
            {
                List <double> longitude  = new List <double>();
                List <double> latitude   = new List <double>();
                double        sat_period = 86164 / sat.Sat_MeanMotion;
                _trackMethods.GetTrackCoordinates(sat.Sat_Inclination, sat.Sat_ArgumentPerigee, sat.Sat_SemiAxis, sat.Sat_Eccentricity, sat_period, sat.Sat_RightAscension, sat.Sat_MeanMotion, 1000, out longitude, out latitude);
                //_trackMethods.GetTrackCoordinates(20, 270, 42164, 0.3, 86160, 60, 0, 360, out longitude, out latitude);


                for (int i = 1; i < longitude.Count; i++)
                {
                    //points.Add(new PointLatLng(latitude[i - 1], longitude[i - 1]));
                    //points.Add(new PointLatLng(latitude[i - 1] + 10, longitude[i - 1] + 10));
                    //points.Add(new PointLatLng(latitude[i] + 10, longitude[i] + 10));
                    //points.Add(new PointLatLng(latitude[i], longitude[i]));

                    GMarkerCross marker = new GMarkerCross(new PointLatLng(latitude[i], longitude[i]));
                    pointList.Add(new PointLatLng(latitude[i], longitude[i]));
                    marker.Pen = new Pen(Color.Yellow);
                    markersOverlay.Markers.Add(marker);

                    marker.IsVisible = true;

                    //gMapControl1.Update();
                }
            }

            // TODO: Checkear cuando por el cambio de longitud de >180 a <180 se genera una línea que no debería ser pintada
            GMapRoute route = new GMapRoute(pointList, "trackLine");

            route.Stroke           = new Pen(Color.Yellow);
            route.Stroke.Width     = 2;
            route.Stroke.DashStyle = System.Drawing.Drawing2D.DashStyle.Solid;
            route.Stroke.StartCap  = System.Drawing.Drawing2D.LineCap.NoAnchor;
            route.Stroke.EndCap    = System.Drawing.Drawing2D.LineCap.NoAnchor;
            route.Stroke.LineJoin  = System.Drawing.Drawing2D.LineJoin.Round;
            linesOverlay.Routes.Add(route);

            gMapControl1.Overlays.Add(linesOverlay);

            //gMapControl1.Overlays.Add(markersOverlay);


            //GMapPolygon polygon = new GMapPolygon(points, "mypolygon");
            //polygon.Fill = new SolidBrush(Color.FromArgb(50, Color.Red));
            //polygon.Stroke = new Pen(Color.Red, 1);
            //polyOverlay.Polygons.Add(polygon);
            //gMapControl1.Overlays.Add(polyOverlay);
        }
Beispiel #6
0
        public MainForm()
        {
            InitializeComponent();

             pageGps = new GPS(this);
             pageTransport = new Transport(this);
             pageSearch = new Search(this);

            #if DEBUG
             MainMap.Manager.Mode = AccessMode.ServerAndCache;
             menuItemServerAndCache.Checked = true;
             menuItemEnableGrid.Checked = true;
             menuItemGPSenabled.Checked = false;
             MainMap.ShowTileGridLines = true;
            #else
             menuItemGPSenabled.Checked = false;
             MainMap.Manager.Mode = AccessMode.CacheOnly;
             menuItemCacheOnly.Checked = true;
            #endif
             MainMap.MapProvider = GMapProviders.LithuaniaMap;
             MainMap.MaxZoom = 11;
             MainMap.MinZoom = 1;
             MainMap.Zoom = MainMap.MinZoom + 1;
             MainMap.Position = start;

             MainMap.OnMapTypeChanged += new MapTypeChanged(MainMap_OnMapTypeChanged);
             MainMap.OnMapZoomChanged += new MapZoomChanged(MainMap_OnMapZoomChanged);
             MainMap.OnPositionChanged += new PositionChanged(MainMap_OnPositionChanged);

             // add custom layers
             {
            objects = new GMapOverlay("objects");
            MainMap.Overlays.Add(objects);

            top = new GMapOverlay("top");
            MainMap.Overlays.Add(top);
             }

             // gps pos
             gpsPos = new GMarkerCross(MainMap.Position);
             gpsPos.IsVisible = false;
             top.Markers.Add(gpsPos);

            #if DEBUG
             // transparent marker test
             GMapMarkerTransparentGoogleGreen goo = new GMapMarkerTransparentGoogleGreen(MainMap.Position);
             goo.ToolTipMode = MarkerTooltipMode.Always;
             goo.ToolTipText = "Welcome to Lithuania! ;}";
             objects.Markers.Add(goo);
            #endif

             // hook for volume up/down zooming
             hook.HookEvent += new HookKeys.HookEventHandler(hook_HookEvent);

             // test performance
             if(PerfTestEnabled)
             {
            timer.Interval = 111;
            timer.Tick += new EventHandler(timer_Tick);
            timer.Enabled = true;
             }
        }
        public void dibujarSolucion(bool ponderado)
        {
            mapaSolucion.Overlays.Clear();

            GMapOverlay marcadores = new GMapOverlay("ciudades");

            GMapOverlay lineas = new GMapOverlay("rutas");

            for (int i = 0; i < grafoViajero.Count; i++)
            {
                Ciudad        ciudad  = grafoViajero.ElementAt(i);
                GMarkerGoogle iniciom = null;
                if (i == 0)
                {
                    iniciom = new GMarkerGoogle(new PointLatLng(ciudad.Latitud, ciudad.Longitud), GMarkerGoogleType.red_dot);
                }
                else
                {
                    iniciom = new GMarkerGoogle(new PointLatLng(ciudad.Latitud, ciudad.Longitud), GMarkerGoogleType.blue_dot);
                }

                iniciom.ToolTipText = "Nombre: " + ciudad.Nombre + "\n" +
                                      "Latitud : " + ciudad.Latitud + "\n" +
                                      "Longitud : " + ciudad.Longitud + "\n" +
                                      "Poblacion : " + ciudad.TotalPoblacion;
                marcadores.Markers.Add(iniciom);

                if (ponderado)
                {
                    Ciudad otraciudad = null;
                    if (i == grafoViajero.Count - 1)
                    {
                        otraciudad = grafoViajero.ElementAt(0);
                    }
                    else
                    {
                        otraciudad = grafoViajero.ElementAt(i + 1);
                    }

                    List <PointLatLng> points = new List <PointLatLng>();
                    points.Add(new PointLatLng(ciudad.Latitud, ciudad.Longitud));
                    points.Add(new PointLatLng(otraciudad.Latitud, otraciudad.Longitud));
                    GMapPolygon polygon = new GMapPolygon(points, "mypolygon");
                    polygon.Fill   = new SolidBrush(Color.FromArgb(50, Color.Red));
                    polygon.Stroke = new Pen(Color.Red, 5);
                    lineas.Polygons.Add(polygon);
                    double       lat               = (ciudad.Latitud + otraciudad.Latitud) / 2;
                    double       lon               = (ciudad.Longitud + otraciudad.Longitud) / 2;
                    PointLatLng  puntoDistancia    = new PointLatLng(lat, lon);
                    GMarkerCross marcadorDistancia = new GMarkerCross(puntoDistancia);

                    double distancia = Math.Round(ciudad.distancia(otraciudad, 'K'), 2);

                    marcadorDistancia.ToolTipText = distancia + " Km";
                    marcadorDistancia.ToolTipMode = MarkerTooltipMode.Always;

                    marcadores.Markers.Add(marcadorDistancia);

                    mapaSolucion.Overlays.Add(lineas);
                }

                mapaSolucion.Overlays.Add(marcadores);
            }

            mapaSolucion.Zoom = 1;
            mapaSolucion.Zoom = 0;
        }