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--; }
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); } }
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; } }
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); }
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; }