/// <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();
         }
     }
 }
Пример #2
0
        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);
        }
Пример #3
0
        // 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();
 }
Пример #5
0
        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);
     }
 }
Пример #7
0
        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);
        }
Пример #8
0
 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();
                }
            }
        }
Пример #10
0
        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;
            }
        }