/// <summary> /// Muestras las conecciones entre ciudades /// </summary> private void showConnections() { //Obtiene la ciudad en la cual se ubicó el usuario if (marker != null && marker != lastMarker) { lastMarker = marker; Console.WriteLine("HAY MARKER"); City c = controller.findCityBy(marker.Position.Lat, marker.Position.Lng); if (c != null) { Console.WriteLine(c.ToString()); //Crea una lista de posiciones //List<PointLatLng> ls = new List<PointLatLng>(); //Obtiene lista ciudades adyacentes ArrayList cities = c.getAdjacentCities(); //Obtiene la ubicacion de cada una de las ciudades adyacentes foreach (City city in cities) { List <PointLatLng> ls = new List <PointLatLng>(); ls.Add(new PointLatLng(c.getLatitude(), c.getLongitude())); ls.Add(new PointLatLng(city.getLatitude(), city.getLongitude())); //Crea una ruta GMapRoute r = new GMapRoute(ls, "routes"); r.Stroke.Color = Color.Black; r.Stroke.Width = 2; routesOverlay.Routes.Add(r); } Thread clean = new Thread(cleanConnections); clean.Start(); } } }
private void redrawPoints() // clears and draws all points in flightplan. Very useful, when you remove some points { GMapOverlay pointsOvetlay = new GMapOverlay(gMapControlFlightPlaner, "points"); int i; int id; double lat; double lon; float altitude; float setspeed; short special; string name; FpPoint.NextAction next; for (i = 0; i < MyFlitePlan.PointsInflitePlan; i++) { MyFlitePlan.Get(i, out id, out lat, out lon, out altitude, out setspeed, out special, out name, out next); GMapMarkerGoogleRed waypoint = new GMapMarkerGoogleRed(new PointLatLng(lat, lon)); waypoint.ToolTipText = i.ToString(); waypoint.ToolTipMode = MarkerTooltipMode.Always; pointsOvetlay.Markers.Add(waypoint); } gMapControlFlightPlaner.Overlays.Add(pointsOvetlay); }
// add test route private void button3_Click(object sender, EventArgs e) { MapRoute route = GMaps.Instance.GetRouteBetweenPoints(start, end, false, MainMap.Zoom); if (route != null) { // add route GMapRoute r = new GMapRoute(route.Points, route.Name); r.Color = Color.Blue; routes.Routes.Add(r); // add route start/end marks GMapMarker m1 = new GMapMarkerGoogleRed(start); m1.ToolTipText = "Start: " + route.Name; m1.TooltipMode = MarkerTooltipMode.Always; GMapMarker m2 = new GMapMarkerGoogleGreen(end); m2.ToolTipText = "End: " + end.ToString(); m2.TooltipMode = MarkerTooltipMode.Always; objects.Markers.Add(m1); objects.Markers.Add(m2); MainMap.ZoomAndCenterRoute(r); // testing kml support KmlType info = GMaps.Instance.GetRouteBetweenPointsKml(start, end, false); if (info != null) { } } }
/// <summary> /// Quita las conexiones entre ciudades cuando el usuario mueve el mouse /// </summary> private void cleanConnections() { while (gmap.IsMouseOverMarker) { } lastMarker = null; routesOverlay.Routes.Clear(); }
private void placePointOnMap(double lat, double lon, int type) //Draws sinle point on map { GMapMarkerGoogleRed waypoint = new GMapMarkerGoogleRed(new PointLatLng(lat, lon)); GMapOverlay pointsOvetlay = new GMapOverlay(gMapControlFlightPlaner, "points"); pointsOvetlay.Markers.Add(waypoint); gMapControlFlightPlaner.Overlays.Add(pointsOvetlay); }
private void drawCities(List <City> cities) { overlayOne.Markers.Clear(); foreach (City c in cities) { marker = new GMapMarkerGoogleRed(new PointLatLng(c.getLatitude(), c.getLongitude())); marker.ToolTipText = c.ToString(); overlayOne.Markers.Add(marker); } }
private GMap.NET.PointLatLng CreateWayPoint(GMap.NET.PointLatLng point) { frm = new Navigation.EditWayPoint(1200, true); if (frm.Altitude == 0) { if (frm.ShowDialog() == DialogResult.Abort) { return(new GMap.NET.PointLatLng()); } } route.Points.Add(point); UAVCommons.Navigation.WayPoint wpoint = new UAVCommons.Navigation.WayPoint(); wpoint.Longitude = point.Lng; wpoint.Latitude = point.Lat; string altstring = " ("; altstring += frm.Altitude; wpoint.IsAbsolute = frm.IsAbsolute; if (frm.IsAbsolute) { wpoint.Altitude = frm.Altitude; altstring += "M"; wpoint.AltitudeAGL = 0; } else { wpoint.AltitudeAGL = frm.Altitude; wpoint.Altitude = 0; altstring += "M AGL"; } altstring += ")"; WayPoints.Add(wpoint); GMapMarker mymarker = new GMapMarkerGoogleRed(point); mymarker.Tag = route.Points.Count - 1; mymarker.ToolTipMode = MarkerTooltipMode.Always; mymarker.ToolTipText = "Wegpunkt " + Convert.ToString(route.Points.Count) + altstring; overlay.Markers.Add(mymarker); route.Overlay.IsVisibile = true; route.IsVisible = true; gMapControl1.UpdateRouteLocalPosition(route); gMapControl1.UpdateMarkerLocalPosition(mymarker); return(point); }
private void ShowRedMarkers(List <Atm> atm) { foreach (Atm item in atm) { GMapMarkerGoogleRed markerR = new GMapMarkerGoogleRed(new GMap.NET.PointLatLng(item.gpsX, item.gpsY)); markerR.ToolTip = new GMap.NET.WindowsForms.ToolTips.GMapBaloonToolTip(markerR); //Текст отображаемый при наведении на маркер. markerR.ToolTipText = item.Bank.name + "\r\n"; markerR.ToolTipText += item.title + "\r\n"; markerR.ToolTipText += item.phone + "\r\n"; markerR.ToolTipText += item.addressatm + "\r\n"; markerR.ToolTipText += "USD: " + item.Bank.usdbuy + ", " + item.Bank.usdsell + " \r\n"; markerR.ToolTipText += "EUR: " + item.Bank.eurbuy + ", " + item.Bank.eursell + " \r\n"; markerR.ToolTipText += "RUR: " + item.Bank.rurbuy + ", " + item.Bank.rursell + " \r\n"; markersOverlayRed.Markers.Add(markerR); } }
private void markerClick(object sender, EventArgs e) { //if(((GMapControl)sender).IsMouseOverMarker) marker = (GMapMarkerGoogleRed)sender; City c = controller.findCityBy(marker.Position.Lat, marker.Position.Lng); if (c != null) { setName(c.getName()); setCountry(c.getCountry()); setPopulation(c.getPopulation()); setLatitude(c.getLatitude()); setLongitude(c.getLongitude()); setConnectedCities(c.getAdjacentCities()); if (mode == MODE_WORLD) { showConnections(); } } }
private void InitializeGMap() { MainMap.CacheLocation = System.IO.Directory.GetCurrentDirectory() + System.IO.Path.DirectorySeparatorChar + "MapBuffer" + System.IO.Path.DirectorySeparatorChar; this.trackBar1.ValueChanged += new EventHandler(trackBar1_ValueChanged); this.btnGo.Click += new EventHandler(btnGo_Click); this.comboBoxMapType.DropDownClosed += new System.EventHandler(this.comboBoxMapType_DropDownClosed); this.comboBoxMode.DropDownClosed += new System.EventHandler(this.comboBoxMode_DropDownClosed); // config gmaps GMaps.Instance.Language = LanguageType.ChineseSimplified; GMaps.Instance.UseRouteCache = true; GMaps.Instance.UseGeocoderCache = true; GMaps.Instance.UsePlacemarkCache = true; GMaps.Instance.Mode = AccessMode.ServerAndCache; // set your proxy here if need //GMaps.Instance.Proxy = new System.Net.WebProxy("127.0.0.1", 9666); //GMaps.Instance.Proxy.Credentials = new NetworkCredential("*****@*****.**", "bilgeadam"); // config map MainMap.MapType = MapType.GoogleMap; MainMap.MaxZoom = 19; MainMap.MinZoom = 1; MainMap.Zoom = 12; MainMap.CurrentPosition = new PointLatLng(39.9265884219094, 116.38916015625); // map events MainMap.OnCurrentPositionChanged += new CurrentPositionChanged(MainMap_OnCurrentPositionChanged); MainMap.OnTileLoadStart += new TileLoadStart(MainMap_OnTileLoadStart); MainMap.OnTileLoadComplete += new TileLoadComplete(MainMap_OnTileLoadComplete); MainMap.OnMarkerClick += new MarkerClick(MainMap_OnMarkerClick); MainMap.OnEmptyTileError += new EmptyTileError(MainMap_OnEmptyTileError); MainMap.OnMapZoomChanged += new MapZoomChanged(MainMap_OnMapZoomChanged); MainMap.MouseMove += new MouseEventHandler(MainMap_MouseMove); MainMap.MouseDown += new MouseEventHandler(MainMap_MouseDown); MainMap.MouseUp += new MouseEventHandler(MainMap_MouseUp); // get map type comboBoxMapType.DataSource = Enum.GetValues(typeof(MapType)); comboBoxMapType.SelectedItem = MainMap.MapType; // acccess mode comboBoxMode.DataSource = Enum.GetValues(typeof(AccessMode)); comboBoxMode.SelectedItem = GMaps.Instance.Mode; // get position textBoxLat.Text = MainMap.CurrentPosition.Lat.ToString(System.Globalization.CultureInfo.InvariantCulture); textBoxLng.Text = MainMap.CurrentPosition.Lng.ToString(System.Globalization.CultureInfo.InvariantCulture); // get cache modes checkBoxUseRouteCache.Checked = GMaps.Instance.UseRouteCache; checkBoxUseGeoCache.Checked = GMaps.Instance.UseGeocoderCache; // get zoom trackBar1.Minimum = MainMap.MinZoom; trackBar1.Maximum = MainMap.MaxZoom; // set current marker and get ground layer currentMarker = new GMapMarkerGoogleRed(MainMap.CurrentPosition); if (MainMap.Overlays.Count > 0) { ground = MainMap.Overlays[0] as GMapOverlay; ground.Markers.Add(currentMarker); } // add custom layers { objects = new GMapOverlay(MainMap, "objects"); MainMap.Overlays.Add(objects); routes = new GMapOverlay(MainMap, "routes"); MainMap.Overlays.Add(routes); } // add my city location for demo GeoCoderStatusCode status = GeoCoderStatusCode.Unknow; PointLatLng? pos = GMaps.Instance.GetLatLngFromGeocoder("ningbo, china", out status); if (pos != null) { currentMarker.Position = pos.Value; GMapMarker myCity = new GMapMarkerGoogleGreen(pos.Value); myCity.ToolTipMode = MarkerTooltipMode.Always; myCity.ToolTipText = "Welcome to ningbo!"; ground.Markers.Add(myCity); MainMap.CurrentPosition = pos.Value; } }