示例#1
1
        public List<GMapMarker> GetMarkers()
        {
            XNamespace nx = "http://www.opengis.net/kml/2.2";

            var placemarks = from placeMark in loaded.Descendants(nx + "Placemark")
                             where placeMark.Element(nx + "name").Value != "Flight path"
                             select placeMark;

            List<GMapMarker> markers = new List<GMapMarker>();

            placemarks.ToList().ForEach((placemark) =>{
                    var location = ParseCoordinate(placemark.Descendants(nx + "coordinates").First().Value);

                    GMapMarker marker;

                    if (placemark.Descendants(nx + "name").First().Value.Contains("Landing"))
                        marker = new GMapMarkerGoogleGreen(location);
                    else
                        marker = new GMapMarkerGoogleRed(location);

                    marker.ToolTipText = placemark.Descendants(nx + "description").First().Value;
                    marker.ToolTipMode = MarkerTooltipMode.OnMouseOver;
                    markers.Add(marker);
                });

            return markers;
        }
示例#2
0
        void timer_Tick(object sender, EventArgs e)
        {
            var pos = new PointLatLng(NextDouble(r, MainMap.ViewArea.Top, MainMap.ViewArea.Bottom), NextDouble(r, MainMap.ViewArea.Left, MainMap.ViewArea.Right));
             GMapMarker m = new GMapMarkerGoogleGreen(pos);
             {
            m.ToolTipText = (tt++).ToString();
            m.ToolTipMode = MarkerTooltipMode.Always;
            m.Offset = new System.Drawing.Point(-m.Size.Width, -m.Size.Height);
             }

             objects.Markers.Add(m);

             if(tt >= 44)
             {
            timer.Enabled = false;
            tt = 0;
             }
        }
示例#3
0
文件: MapDialog.cs 项目: atan888/MMS
        // add marker on current position
        private void button4_Click(object sender, EventArgs e)
        {
            GMapMarker m = new GMapMarkerGoogleGreen(currentMarker.Position);
             GMapMarkerRect mBorders = new GMapMarkerRect(currentMarker.Position);
             mBorders.Size = new System.Drawing.Size(100, 100);

             Placemark p = null;
             if(checkBoxPlacemarkInfo.Checked)
             {
            p = GMaps.Instance.GetPlacemarkFromGeocoder(currentMarker.Position);
             }

             if(p != null)
             {
            mBorders.ToolTipText = p.Address;
             }
             else
             {
            mBorders.ToolTipText = currentMarker.Position.ToString();
             }

             objects.Markers.Add(m);
             objects.Markers.Add(mBorders);
        }
示例#4
0
文件: MapDialog.cs 项目: atan888/MMS
        // add test route
        private void button3_Click(object sender, EventArgs e)
        {
            MapRoute route = GMaps.Instance.GetRouteBetweenPoints(start, end, false, (int) 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)
            //{

            //}
             }
        }
示例#5
0
文件: MapDialog.cs 项目: atan888/MMS
        public void AddLocation(string szAddress)
        {
            textBoxGeo.Text = szAddress;

              GeoCoderStatusCode status = GeoCoderStatusCode.Unknow;
              PointLatLng? pos = GMaps.Instance.GetLatLngFromGeocoder("Ruckersville, " + szAddress, out status);
              if (pos != null && status == GeoCoderStatusCode.G_GEO_SUCCESS)
              {
              GMapMarker m = new GMapMarkerGoogleGreen(pos.Value);
              GMapMarkerRect mBorders = new GMapMarkerRect(pos.Value);
              mBorders.Size = new System.Drawing.Size(100, 100);
              {
                  mBorders.ToolTipText = szAddress;
                  mBorders.TooltipMode = MarkerTooltipMode.Always;
              }

              objects.Markers.Add(m);
              objects.Markers.Add(mBorders);
              }
        }
示例#6
0
        /// <summary>
        /// used to add a marker to the map display
        /// </summary>
        /// <param name="tag"></param>
        /// <param name="lng"></param>
        /// <param name="lat"></param>
        /// <param name="alt"></param>
        private void addpolygonmarker(string tag, double lng, double lat, int alt)
        {
            try
            {
                PointLatLng point = new PointLatLng(lat, lng);
                GMapMarkerGoogleGreen m = new GMapMarkerGoogleGreen(point);
                m.ToolTipMode = MarkerTooltipMode.Always;
                m.ToolTipText = tag;
                m.Tag = tag;

                //ArdupilotMega.GMapMarkerRectWPRad mBorders = new ArdupilotMega.GMapMarkerRectWPRad(point, (int)float.Parse(TXT_WPRad.Text), MainMap);
                GMapMarkerRect mBorders = new GMapMarkerRect(point);
                {
                    mBorders.InnerMarker = m;
                    mBorders.wprad = (int)float.Parse(TXT_WPRad.Text);
                    mBorders.MainMap = MainMap;
                }

                objects.Markers.Add(m);
                objects.Markers.Add(mBorders);
            }
            catch (Exception) { }
        }
示例#7
0
        void transport_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            // stops immediate marker/route/polygon invalidations;
            // call Refresh to perform single refresh and reset invalidation state
            MainMap.HoldInvalidation = true;

            #region -- old vehicle demo --
            //lock(trolleybus)
            //{
            //   foreach(VehicleData d in trolleybus)
            //   {
            //      GMapMarker marker;

            //      if(!trolleybusMarkers.TryGetValue(d.Id, out marker))
            //      {
            //         marker = new GMapMarkerGoogleRed(new PointLatLng(d.Lat, d.Lng));
            //         marker.Tag = d.Id;
            //         marker.ToolTipMode = MarkerTooltipMode.OnMouseOver;

            //         trolleybusMarkers[d.Id] = marker;
            //         objects.Markers.Add(marker);
            //      }
            //      else
            //      {
            //         marker.Position = new PointLatLng(d.Lat, d.Lng);
            //         (marker as GMapMarkerGoogleRed).Bearing = (float?)d.Bearing;
            //      }
            //      marker.ToolTipText = "Trolley " + d.Line + (d.Bearing.HasValue ? ", bearing: " + d.Bearing.Value.ToString() : string.Empty) + ", " + d.Time;

            //      if(currentTransport != null && currentTransport == marker)
            //      {
            //         MainMap.Position = marker.Position;
            //         if(d.Bearing.HasValue)
            //         {
            //            MainMap.Bearing = (float)d.Bearing.Value;
            //         }
            //      }
            //   }
            //}

            //lock(bus)
            //{
            //   foreach(VehicleData d in bus)
            //   {
            //      GMapMarker marker;

            //      if(!busMarkers.TryGetValue(d.Id, out marker))
            //      {
            //         marker = new GMapMarkerGoogleGreen(new PointLatLng(d.Lat, d.Lng));
            //         marker.Tag = d.Id;
            //         marker.ToolTipMode = MarkerTooltipMode.OnMouseOver;

            //         busMarkers[d.Id] = marker;
            //         objects.Markers.Add(marker);
            //      }
            //      else
            //      {
            //         marker.Position = new PointLatLng(d.Lat, d.Lng);
            //         (marker as GMapMarkerGoogleGreen).Bearing = (float?)d.Bearing;
            //      }
            //      marker.ToolTipText = "Bus " + d.Line + (d.Bearing.HasValue ? ", bearing: " + d.Bearing.Value.ToString() : string.Empty) + ", " + d.Time;

            //      if(currentTransport != null && currentTransport == marker)
            //      {
            //         MainMap.Position = marker.Position;
            //         if(d.Bearing.HasValue)
            //         {
            //            MainMap.Bearing = (float)d.Bearing.Value;
            //         }
            //      }
            //   }
            //}
            #endregion

            lock (flights)
            {
                foreach (FlightRadarData d in flights)
                {
                    GMapMarker marker;

                    if (!flightMarkers.TryGetValue(d.Id, out marker))
                    {
                        marker = new GMapMarkerGoogleGreen(d.point);
                        marker.Tag = d.Id;
                        marker.ToolTipMode = MarkerTooltipMode.OnMouseOver;
                        (marker as GMapMarkerGoogleGreen).Bearing = (float?)d.bearing;

                        flightMarkers[d.Id] = marker;
                        objects.Markers.Add(marker);
                    }
                    else
                    {
                        marker.Position = d.point;
                        (marker as GMapMarkerGoogleGreen).Bearing = (float?)d.bearing;
                    }
                    marker.ToolTipText = d.name + ", " + d.altitude + ", " + d.speed;

                    if (currentTransport != null && currentTransport == marker)
                    {
                        MainMap.Position = marker.Position;
                        MainMap.Bearing = (float)d.bearing;
                    }
                }
            }

            if (firstLoadTrasport)
            {
                MainMap.Zoom = 5;
                //MainMap.ZoomAndCenterMarkers("objects");
                firstLoadTrasport = false;
            }
            MainMap.Refresh();
        }
示例#8
0
        // ПРИМЕР РАБОТЫ С КАРТОЙ ! 
        // (данный код используйте по своему усмотрению!)
        void SetParamsMap()
        {
            // Создание элемента, отображающего карту !
            gMapControl1 = new GMapControl();
            // Растягивание элемента на все окно!
            gMapControl1.Dock = DockStyle.Fill;
            // Добавление элемента 
           this.Controls.Add(gMapControl1);

// ОБЩИЕ НАСТРОЙКИ КАРТЫ 
            //Указываем, что будем использовать карты OpenStreetMap.
            gMapControl1.MapProvider = GMap.NET.MapProviders.GMapProviders.OpenStreetMap;
            // Указываем источник данных карты (выбран: интренети или локальный кэш)
            GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerAndCache;

           
            //Настройки для компонента GMap.
            gMapControl1.Bearing = 0;
    
      // МАСШТАБИРОВАНИЕ
            //Указываем значение максимального приближения.
            gMapControl1.MaxZoom = 18;

            //Указываем значение минимального приближения.
            gMapControl1.MinZoom = 2;

            //Указываем, что при загрузке карты будет использоваться 
            //16ти кратной приближение.
            gMapControl1.Zoom = 17;

            //Устанавливаем центр приближения/удаления
            //курсор мыши.
            gMapControl1.MouseWheelZoomType = GMap.NET.MouseWheelZoomType.MousePositionAndCenter;


  // НАВИГАЦИЯ ПО КАРТЕ 
            //CanDragMap - Если параметр установлен в True,
            //пользователь может перетаскивать карту  помощью правой кнопки мыши. 
            gMapControl1.CanDragMap = true;

            //Указываем что перетаскивание карты осуществляется 
            //с использованием левой клавишей мыши. По умолчанию - правая.
            gMapControl1.DragButton = MouseButtons.Left;

            //Указываем элементу управления, что необходимо при открытии карты
            // прейти по координатам 
            gMapControl1.Position = new GMap.NET.PointLatLng(53.902800, 27.561759);


// ОТОБРАЖЕНИЕ МАРКЕРОВ НА КАРТЕ 
            //MarkersEnabled - Если параметр установлен в True,
            //любые маркеры, заданные вручную будет показаны.
            //Если нет, они не появятся.
            gMapControl1.MarkersEnabled = true;
                  
            //Создаем новый список маркеров, с указанием компонента 
            //в котором они будут использоваться и названием списка.
            GMap.NET.WindowsForms.GMapOverlay markersOverlay =
                new GMap.NET.WindowsForms.GMapOverlay(gMapControl1, "marker");
            //Инициализация нового ЗЕЛЕНОГО маркера, с указанием его координат.
            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen markerG =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                //Указываем координаты 
                new GMap.NET.PointLatLng(53.902542, 27.561781));
            markerG.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(markerG);
            //Текст отображаемый при наведении на маркер.
            markerG.ToolTipText = "Объект №1";

            //Инициализация нового КРАСНОГО маркера, с указанием его координат.
            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed markerR =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed(
                //Указываем координаты 
                new GMap.NET.PointLatLng(53.902752, 27.561294));
            markerR.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapBaloonToolTip(markerR);
            //Текст отображаемый при наведении на маркер.
            markerR.ToolTipText = "Объект №2";

            //Добавляем маркеры в список маркеров.
            //Зеленый маркер
            markersOverlay.Markers.Add(markerG);
            //Красный маркет
            markersOverlay.Markers.Add(markerR);
            //Добавляем в компонент, список маркеров.
            gMapControl1.Overlays.Add(markersOverlay);

// СОБЯТИЯ ПО КАРТЕ !
            gMapControl1.MouseClick += gMapControl1_MouseClick;
        
        }
示例#9
0
        // ПРИМЕР РАБОТЫ С КАРТОЙ !
        // (данный код используйте по своему усмотрению!)
        void SetParamsMap()
        {
            // Создание элемента, отображающего карту !
            gMapControl1 = new GMapControl();
            // Растягивание элемента на все окно!
            gMapControl1.Dock = DockStyle.Fill;
            // Добавление элемента
            this.Controls.Add(gMapControl1);

// ОБЩИЕ НАСТРОЙКИ КАРТЫ
            //Указываем, что будем использовать карты OpenStreetMap.
            gMapControl1.MapProvider = GMap.NET.MapProviders.GMapProviders.OpenStreetMap;
            // Указываем источник данных карты (выбран: интренети или локальный кэш)
            GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerAndCache;


            //Настройки для компонента GMap.
            gMapControl1.Bearing = 0;

            // МАСШТАБИРОВАНИЕ
            //Указываем значение максимального приближения.
            gMapControl1.MaxZoom = 18;

            //Указываем значение минимального приближения.
            gMapControl1.MinZoom = 2;

            //Указываем, что при загрузке карты будет использоваться
            //16ти кратной приближение.
            gMapControl1.Zoom = 17;

            //Устанавливаем центр приближения/удаления
            //курсор мыши.
            gMapControl1.MouseWheelZoomType = GMap.NET.MouseWheelZoomType.MousePositionAndCenter;


            // НАВИГАЦИЯ ПО КАРТЕ
            //CanDragMap - Если параметр установлен в True,
            //пользователь может перетаскивать карту  помощью правой кнопки мыши.
            gMapControl1.CanDragMap = true;

            //Указываем что перетаскивание карты осуществляется
            //с использованием левой клавишей мыши. По умолчанию - правая.
            gMapControl1.DragButton = MouseButtons.Left;

            //Указываем элементу управления, что необходимо при открытии карты
            // прейти по координатам
            gMapControl1.Position = new GMap.NET.PointLatLng(53.902800, 27.561759);


// ОТОБРАЖЕНИЕ МАРКЕРОВ НА КАРТЕ
            //MarkersEnabled - Если параметр установлен в True,
            //любые маркеры, заданные вручную будет показаны.
            //Если нет, они не появятся.
            gMapControl1.MarkersEnabled = true;

            //Создаем новый список маркеров, с указанием компонента
            //в котором они будут использоваться и названием списка.
            GMap.NET.WindowsForms.GMapOverlay markersOverlay =
                new GMap.NET.WindowsForms.GMapOverlay(gMapControl1, "marker");
            //Инициализация нового ЗЕЛЕНОГО маркера, с указанием его координат.
            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen markerG =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    //Указываем координаты
                    new GMap.NET.PointLatLng(53.902542, 27.561781));
            markerG.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(markerG);
            //Текст отображаемый при наведении на маркер.
            markerG.ToolTipText = "Объект №1";

            //Инициализация нового КРАСНОГО маркера, с указанием его координат.
            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed markerR =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed(
                    //Указываем координаты
                    new GMap.NET.PointLatLng(53.902752, 27.561294));
            markerR.ToolTip = new GMap.NET.WindowsForms.ToolTips.GMapBaloonToolTip(markerR);
            //Текст отображаемый при наведении на маркер.
            markerR.ToolTipText = "Объект №2";

            //Добавляем маркеры в список маркеров.
            //Зеленый маркер
            markersOverlay.Markers.Add(markerG);
            //Красный маркет
            markersOverlay.Markers.Add(markerR);
            //Добавляем в компонент, список маркеров.
            gMapControl1.Overlays.Add(markersOverlay);

// СОБЯТИЯ ПО КАРТЕ !
            gMapControl1.MouseClick += gMapControl1_MouseClick;
        }
示例#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;
            }
        }
示例#11
0
        public MainForm()
        {
            InitializeComponent();

            if (!DesignMode)
            {
                // add your custom map db provider
                //GMap.NET.CacheProviders.MySQLPureImageCache ch = new GMap.NET.CacheProviders.MySQLPureImageCache();
                //ch.ConnectionString = @"server=sql2008;User Id=trolis;Persist Security Info=True;database=gmapnetcache;password=trolis;";
                //MainMap.Manager.ImageCacheSecond = ch;

                // set your proxy here if need
                //GMapProvider.WebProxy = new WebProxy("10.2.0.100", 8080);
                //GMapProvider.WebProxy.Credentials = new NetworkCredential("*****@*****.**", "bilgeada");

                // set cache mode only if no internet avaible
                try
                {
                    System.Net.IPHostEntry e = System.Net.Dns.GetHostEntry("www.bing.com");
                }
                catch
                {
                    MainMap.Manager.Mode = AccessMode.CacheOnly;
                    MessageBox.Show("No internet connection avaible, going to CacheOnly mode.", "GMap.NET - Demo.WindowsForms", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }

                // config map
                MainMap.MapProvider = GMapProviders.GoogleTerrainMap;
                MainMap.Position = new PointLatLng(-37.7881, 175.2597);
                MainMap.MinZoom = 1;
                MainMap.MaxZoom = 17;
                MainMap.Zoom = 9;

                // map events
                MainMap.OnPositionChanged += new PositionChanged(MainMap_OnPositionChanged);
                MainMap.OnTileLoadStart += new TileLoadStart(MainMap_OnTileLoadStart);
                MainMap.OnTileLoadComplete += new TileLoadComplete(MainMap_OnTileLoadComplete);
                MainMap.OnMarkerClick += new MarkerClick(MainMap_OnMarkerClick);
                MainMap.OnMapZoomChanged += new MapZoomChanged(MainMap_OnMapZoomChanged);
                MainMap.OnMapTypeChanged += new MapTypeChanged(MainMap_OnMapTypeChanged);
                MainMap.MouseMove += new MouseEventHandler(MainMap_MouseMove);
                MainMap.MouseDown += new MouseEventHandler(MainMap_MouseDown);
                MainMap.MouseUp += new MouseEventHandler(MainMap_MouseUp);
                MainMap.OnMarkerEnter += new MarkerEnter(MainMap_OnMarkerEnter);
                MainMap.OnMarkerLeave += new MarkerLeave(MainMap_OnMarkerLeave);

                // get map types
            #if !MONO   // mono doesn't handle it, so we 'lost' provider list ;]
                comboBoxMapType.ValueMember = "Name";
                comboBoxMapType.DataSource = GMapProviders.List;
                comboBoxMapType.SelectedItem = MainMap.MapProvider;
            #endif
                // acccess mode
                comboBoxMode.DataSource = Enum.GetValues(typeof(AccessMode));
                comboBoxMode.SelectedItem = GMaps.Instance.Mode;

                // get position
                textBoxLat.Text = MainMap.Position.Lat.ToString(CultureInfo.InvariantCulture);
                textBoxLng.Text = MainMap.Position.Lng.ToString(CultureInfo.InvariantCulture);

                // get cache modes
                checkBoxUseRouteCache.Checked = GMaps.Instance.UseRouteCache;
                checkBoxUseGeoCache.Checked = GMaps.Instance.UseGeocoderCache;

                MobileLogFrom.Value = DateTime.Today;
                MobileLogTo.Value = DateTime.Now;

                // get zoom
                trackBar1.Minimum = MainMap.MinZoom;
                trackBar1.Maximum = MainMap.MaxZoom;

            #if DEBUG
                checkBoxDebug.Checked = false;
            #endif

                ToolStripManager.Renderer = new BSE.Windows.Forms.Office2007Renderer();

                IpCache.CacheLocation = MainMap.CacheLocation;

                // perf
                timerPerf.Tick += new EventHandler(timer_Tick);

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

                    polygons = new GMapOverlay(MainMap, "polygons");
                    MainMap.Overlays.Add(polygons);

                    objects = new GMapOverlay(MainMap, "objects");
                    MainMap.Overlays.Add(objects);

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

                    routes.Routes.CollectionChanged += new GMap.NET.ObjectModel.NotifyCollectionChangedEventHandler(Routes_CollectionChanged);
                    objects.Markers.CollectionChanged += new GMap.NET.ObjectModel.NotifyCollectionChangedEventHandler(Markers_CollectionChanged);
                }

                // set current marker
                currentMarker = new GMapMarkerGoogleRed(MainMap.Position);
                currentMarker.IsHitTestVisible = false;
                top.Markers.Add(currentMarker);

                // map center
                center = new GMapMarkerCross(MainMap.Position);
                top.Markers.Add(center);

                // com ports
                comboBoxCOMPorts.Items.AddRange(SerialPort.GetPortNames());

                //MainMap.VirtualSizeEnabled = true;
                if (false)
                {
                    // add my city location for demo
                    GeoCoderStatusCode status = GeoCoderStatusCode.Unknow;
                    {
                        PointLatLng? pos = GMapProviders.GoogleMap.GetPoint("Lithuania, Vilnius", out status);
                        if (pos != null && status == GeoCoderStatusCode.G_GEO_SUCCESS)
                        {
                            currentMarker.Position = pos.Value;

                            GMapMarker myCity = new GMapMarkerGoogleGreen(pos.Value);
                            myCity.ToolTipMode = MarkerTooltipMode.Always;
                            myCity.ToolTipText = "Welcome to Lithuania! ;}";
                            objects.Markers.Add(myCity);
                        }
                    }

                    // add some points in lithuania
                    AddLocationLithuania("Kaunas");
                    AddLocationLithuania("Klaipėda");
                    AddLocationLithuania("Šiauliai");
                    AddLocationLithuania("Panevėžys");

                    RegeneratePolygon();
                }
            }
        }
示例#12
0
        // add marker on current position
        private void button4_Click(object sender, EventArgs e)
        {
            GMapMarkerGoogleGreen m = new GMapMarkerGoogleGreen(currentMarker.Position);
            GMapMarkerRect mBorders = new GMapMarkerRect(currentMarker.Position);
            {
                mBorders.InnerMarker = m;
                if (polygon != null)
                {
                    mBorders.Tag = polygon.Points.Count;
                }
                mBorders.ToolTipMode = MarkerTooltipMode.Always;
            }

            Placemark p = null;
            if (checkBoxPlacemarkInfo.Checked)
            {
                GeoCoderStatusCode status;
                var ret = GMapProviders.GoogleMap.GetPlacemark(currentMarker.Position, out status);
                if (status == GeoCoderStatusCode.G_GEO_SUCCESS && ret != null)
                {
                    p = ret;
                }
            }

            if (p != null)
            {
                mBorders.ToolTipText = p.Address;
            }
            else
            {
                mBorders.ToolTipText = currentMarker.Position.ToString();
            }

            objects.Markers.Add(m);
            objects.Markers.Add(mBorders);

            RegeneratePolygon();
        }
示例#13
0
        // add test route
        private void button3_Click(object sender, EventArgs e)
        {
            RoutingProvider rp = MainMap.MapProvider as RoutingProvider;
            if (rp == null)
            {
                rp = GMapProviders.GoogleMap; // use google if provider does not implement routing
            }

            MapRoute route = rp.GetRouteBetweenPoints(start, end, false, (int)MainMap.Zoom);
            if (route != null)
            {
                // add route
                GMapRoute r = new GMapRoute(route.Points, route.Name);
                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);
            }
        }
示例#14
0
        void AddTmpPoint(string place, PointLatLng pos)
        {
            {
                GMapMarkerGoogleGreen m = new GMapMarkerGoogleGreen(pos);
                //m.ToolTip = new GMapRoundedToolTip(m);
                m.ToolTipText = place;
                m.ToolTipMode = MarkerTooltipMode.Always;

                GMapMarkerRect mBorders = new GMapMarkerRect(pos);
                {
                    mBorders.InnerMarker = m;
                    mBorders.ToolTipText = place;
                    mBorders.ToolTipMode = MarkerTooltipMode.Always;
                }
                mBorders.IsVisible = false;

                objects.Markers.Add(m);
                objects.Markers.Add(mBorders);
            }
        }
示例#15
0
        /// <summary>
        /// adds marker using geocoder
        /// </summary>
        /// <param name="place"></param>
        void AddLocationLithuania(string place)
        {
            GeoCoderStatusCode status = GeoCoderStatusCode.Unknow;
            PointLatLng? pos = GMapProviders.GoogleMap.GetPoint("Lithuania, " + place, out status);
            if (pos != null && status == GeoCoderStatusCode.G_GEO_SUCCESS)
            {
                GMapMarkerGoogleGreen m = new GMapMarkerGoogleGreen(pos.Value);
                m.ToolTip = new GMapRoundedToolTip(m);

                GMapMarkerRect mBorders = new GMapMarkerRect(pos.Value);
                {
                    mBorders.InnerMarker = m;
                    mBorders.ToolTipText = place;
                    mBorders.ToolTipMode = MarkerTooltipMode.Always;
                }

                objects.Markers.Add(m);
                objects.Markers.Add(mBorders);
            }
        }
示例#16
0
        /*
                void MainMap_MouseDown(object sender, MouseEventArgs e)
                {
        //            start = MainMap.FromLocalToLatLng(e.X, e.Y);

                    if (e.Button == MouseButtons.Left)
                    {

        //                copterPosMarker.Position = start;
         //               points.Add(new PointLatLng(copterPos.Lat, copterPos.Lng));
         //               Grout.Points.Add(start);
        //                    = new GMapRoute(points, "track");
         //               //routes.Routes.Add(Grout);
         //               MainMap.Position = start;
        //                MainMap.Invalidate();

                    }
                }

                void MainMap_MouseMove(object sender, MouseEventArgs e)
                {
                    PointLatLng point = MainMap.FromLocalToLatLng(e.X, e.Y);
                    currentMarker.Position = point;

                }
        */
        private void addpolygonmarker(string tag, double lng, double lat, int alt, Color? color)
        {
            PointLatLng point = new PointLatLng(lat, lng);
            GMapMarkerGoogleGreen m = new GMapMarkerGoogleGreen(point);
            m.ToolTipMode = MarkerTooltipMode.Always;
            m.ToolTipText = tag;
            m.Tag = tag;

            //ArdupilotMega.GMapMarkerRectWPRad mBorders = new ArdupilotMega.GMapMarkerRectWPRad(point, (int)float.Parse(TXT_WPRad.Text), MainMap);
            GMapMarkerRect mBorders = new GMapMarkerRect(point);
            {
                mBorders.InnerMarker = m;
                mBorders.wprad = (int)float.Parse("5");
                mBorders.MainMap = MainMap;
                if (color.HasValue)
                {
                    mBorders.Color = color.Value;
                }
            }

            markers.Markers.Add(m);
            markers.Markers.Add(mBorders);
        }
示例#17
0
 void gMapControl1_MouseClick(object sender, MouseEventArgs e)
 {
     double X = gMapControl1.FromLocalToLatLng(e.X, e.Y).Lng;
     double Y = gMapControl1.FromLocalToLatLng(e.X, e.Y).Lat;
     GMapOverlay markersOverlay = new GMapOverlay(gMapControl1, "NewMarkers");
     GMapMarkerGoogleGreen markerG =  new GMapMarkerGoogleGreen
                                    (new GMap.NET.PointLatLng(Y, X));
    markerG.ToolTip = new GMapRoundedToolTip(markerG);
    markerG.ToolTipText = "Новый объект";
    markersOverlay.Markers.Add(markerG);
    gMapControl1.Overlays.Add(markersOverlay);
 }
示例#18
0
        private void addpolygonmarker(string tag, double lng, double lat, int alt, Color? color, GMapOverlay overlay)
        {
            try
            {
                PointLatLng point = new PointLatLng(lat, lng);
                GMapMarkerGoogleGreen m = new GMapMarkerGoogleGreen(point);
                m.ToolTipMode = MarkerTooltipMode.Always;
                m.ToolTipText = tag;
                m.Tag = tag;

                GMapMarkerRect mBorders = new GMapMarkerRect(point);
                {

                    mBorders.InnerMarker = m;
                    try
                    {
                        mBorders.wprad = (int)(float.Parse(MissionPlanner.MainV2.config["TXT_WPRad"].ToString()) / MainV2.comPort.MAV.cs.multiplierdist);
                    }
                    catch { }
                    if (color.HasValue)
                    {
                        mBorders.Color = color.Value;
                    }
                }

                overlay.Markers.Add(m);
                overlay.Markers.Add(mBorders);
            }
            catch (Exception) { }
        }
        private void addpolygonmarker(string tag, double lng, double lat, int alt, Color? color, GMapOverlay overlay)
        {
            try
            {
                PointLatLng point = new PointLatLng(lat, lng);
                GMapMarkerGoogleGreen m = new GMapMarkerGoogleGreen(point);
                m.ToolTipMode = MarkerTooltipMode.Always;
                m.ToolTipText = tag;
                m.Tag = tag;

                GMapMarkerRect mBorders = new GMapMarkerRect(point);
                {

                        mBorders.InnerMarker = m;
                        try
                        {
                            mBorders.wprad = (int)float.Parse(ArdupilotMega.MainV2.config["TXT_WPRad"].ToString());
                        }
                        catch { }
                        mBorders.MainMap = gMapControl1;
                        if (color.HasValue)
                        {
                            mBorders.Color = color.Value;
                        }
                }

                overlay.Markers.Add(m);
                overlay.Markers.Add(mBorders);
            }
            catch (Exception) { }
        }
示例#20
0
        void timer_Tick(object sender, EventArgs e)
        {
            var pos = new PointLatLng(NextDouble(rnd, MainMap.CurrentViewArea.Top, MainMap.CurrentViewArea.Bottom), NextDouble(rnd, MainMap.CurrentViewArea.Left, MainMap.CurrentViewArea.Right));
            GMapMarker m = new GMapMarkerGoogleGreen(pos);
            {
                m.ToolTipText = (tt++).ToString();
                m.ToolTipMode = MarkerTooltipMode.Always;
            }

            objects.Markers.Add(m);

            if (tt >= 333)
            {
                timerPerf.Stop();
                tt = 0;
            }
        }