Esempio n. 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;
        }
Esempio n. 2
1
        private void addPIN(PointLatLng point)
        {
            GMapOverlay markersOverlay = new GMapOverlay(gmap, "marker");
            this.marker = new GMapMarkerGoogleRed(point);
            markersOverlay.Markers.Add(marker);
            gmap.Overlays.Add(markersOverlay);

            marker.ToolTipText = this.article.mLink;
            marker.ToolTipMode = MarkerTooltipMode.Never;
        }
Esempio n. 3
0
        void MarkerRed(string text, double x, double y)
        {
            //Инициализация нового КРАСНОГО маркера, с указанием его координат.
            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed markerR =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed(
                    //Указываем координаты
                    new GMap.NET.PointLatLng(x, y));
            markerR.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapBaloonToolTip(markerR);
            //Текст отображаемый при наведении на маркер.
            markerR.ToolTipText = text;

            //Красный маркет
            markersOverlay.Markers.Add(markerR);
        }
Esempio n. 4
0
        private void addpolygonmarkerred(string tag, double lng, double lat, int alt, Color? color, GMapOverlay overlay)
        {
            try
            {
                PointLatLng point = new PointLatLng(lat, lng);
                GMapMarkerGoogleRed m = new GMapMarkerGoogleRed(point);
                m.ToolTipMode = MarkerTooltipMode.Always;
                m.ToolTipText = tag;
                m.Tag = tag;

                GMapMarkerRect mBorders = new GMapMarkerRect(point);
                {
                    mBorders.InnerMarker = m;
                }

                overlay.Markers.Add(m);
                overlay.Markers.Add(mBorders);
            }
            catch (Exception) { }
        }
Esempio n. 5
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;
        
        }
Esempio n. 6
0
        // 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)
            //{

            //}
             }
        }
Esempio n. 7
0
        public override void OnMapMouseDoubleClick(object sender, MouseEventArgs e)
        {
            if (!_start) return;
            PointLatLng currentPoint = this._gMapControl.FromLocalToLatLng(e.X, e.Y);
            double mercatorX, mercatorY;
            Helper.LonLat2Mercator(currentPoint.Lng, currentPoint.Lat, out mercatorX, out mercatorY);
            Point2D point2D = new Point2D(mercatorX, mercatorY);
            _point2Ds.Add(point2D);
            Map map = new Map(_mapUrl);

            QueryParameterSet queryParameterSet = new QueryParameterSet();
            queryParameterSet.ReturnContent = true;
            queryParameterSet.QueryOption = QuerySetting.QueryOption;
            queryParameterSet.ExpectCount = QuerySetting.ExceptionCount;
            queryParameterSet.QueryParams = new QueryParameter[QuerySetting.LayerNames.Count];
            for (int i = 0; i < QuerySetting.LayerNames.Count; i++)
            {
                queryParameterSet.QueryParams[i] = new QueryParameter();
                queryParameterSet.QueryParams[i].Name = QuerySetting.LayerNames[i];
            }

            Geometry geo = new Geometry();
            geo.Parts = new int[1] { _point2Ds.Count };
            geo.Points = _point2Ds.ToArray();
            geo.Type = GeometryType.REGION;
            QueryResult queryResult = null;
            try
            {
                queryResult = map.QueryByGeometry(_mapName, geo, SpatialQueryMode.INTERSECT, queryParameterSet);
            }
            catch (ServiceException serviceException)
            {
                MessageBox.Show(serviceException.Message);
            }

            //高亮显示查询结果。
            if (queryResult != null && queryResult.Recordsets != null && queryResult.Recordsets.Length > 0)
            {
                for (int i = 0; i < queryResult.Recordsets.Length; i++)
                {
                    if (queryResult.Recordsets[i] != null && queryResult.Recordsets[i].Features != null &&
                        queryResult.Recordsets[i].Features.Length > 0)
                    {
                        for (int j = 0; j < queryResult.Recordsets[i].Features.Length; j++)
                        {
                            if (queryResult.Recordsets[i].Features[j].Geometry != null && (
                                queryResult.Recordsets[i].Features[j].Geometry.Type == GeometryType.POINT
                            || queryResult.Recordsets[i].Features[j].Geometry.Type == GeometryType.TEXT))
                            {
                                double lat, lng;
                                Helper.Mercator2LonLat(queryResult.Recordsets[i].Features[j].Geometry.Points[0].X, queryResult.Recordsets[i].Features[j].Geometry.Points[0].Y, out lng, out lat);
                                PointLatLng pointLatLng = new PointLatLng(lat, lng);
                                GMapMarkerGoogleRed marker = new GMapMarkerGoogleRed(pointLatLng);
                                _highLightOverlay.Markers.Add(marker);
                            }
                            else if (queryResult.Recordsets[i].Features[j].Geometry != null &&
                                (queryResult.Recordsets[i].Features[j].Geometry.Type == GeometryType.REGION
                            || queryResult.Recordsets[i].Features[j].Geometry.Type == GeometryType.RECTANGLE))
                            {
                                if (queryResult.Recordsets[i].Features[j].Geometry.Parts != null)
                                //queryResult.Recordsets[i].Features[j].Geometry.Parts.Length > 1)
                                {
                                    int startIndex = 0;
                                    for (int k = 0; k < queryResult.Recordsets[i].Features[j].Geometry.Parts.Length; k++)
                                    {
                                        List<PointLatLng> regionClient = new List<PointLatLng>();
                                        for (int n = startIndex; n < queryResult.Recordsets[i].Features[j].Geometry.Parts[k]; n++)
                                        {
                                            double lat, lng;
                                            Helper.Mercator2LonLat(queryResult.Recordsets[i].Features[j].Geometry.Points[n].X, queryResult.Recordsets[i].Features[j].Geometry.Points[n].Y, out lng, out lat);
                                            regionClient.Add(new PointLatLng(lat, lng));
                                        }
                                        GMapPolygonExtension hight = new GMapPolygonExtension("", regionClient, 2.0F,
               System.Drawing.Color.FromArgb(125, 255, 0, 0), System.Drawing.Color.FromArgb(50, 255, 0, 0));
                                        _highLightOverlay.Polygons.Add(hight);
                                        startIndex += queryResult.Recordsets[i].Features[j].Geometry.Parts[k];

                                    }
                                }
                            }
                            else if (queryResult.Recordsets[i].Features[j].Geometry != null &&
                                (queryResult.Recordsets[i].Features[j].Geometry.Type == GeometryType.LINE))
                            {
                                int startIndex = 0;
                                for (int k = 0; k < queryResult.Recordsets[i].Features[j].Geometry.Parts.Length; k++)
                                {
                                    List<PointLatLng> regionClient = new List<PointLatLng>();
                                    for (int n = startIndex; n < startIndex + queryResult.Recordsets[i].Features[j].Geometry.Parts[k]; n++)
                                    {
                                        double lat, lng;
                                        Helper.Mercator2LonLat(queryResult.Recordsets[i].Features[j].Geometry.Points[n].X, queryResult.Recordsets[i].Features[j].Geometry.Points[n].Y, out lng, out lat);
                                        regionClient.Add(new PointLatLng(lat, lng));
                                    }
                                    GMapRouteExtension hight = new GMapRouteExtension("", regionClient,
               System.Drawing.Color.FromArgb(125, 255, 0, 0), 5.0F, false);
                                    _highLightOverlay.Routes.Add(hight);
                                    startIndex += queryResult.Recordsets[i].Features[j].Geometry.Parts[k];

                                }
                            }
                        }
                    }
                }
            }

            _gMapOverlay.Polygons.Clear();
            _points.Clear();
            _point2Ds.Clear();
            flag = false;
            _start = false;
            base.OnMapMouseDoubleClick(sender, e);
        }
Esempio n. 8
0
        private void addpolygonmarkergrid(string tag, double lng, double lat, int alt)
        {
            try
            {
                PointLatLng point = new PointLatLng(lat, lng);
                GMapMarkerGoogleRed m = new GMapMarkerGoogleRed(point);
                m.ToolTipMode = MarkerTooltipMode.Never;
                m.ToolTipText = "grid" + tag;
                m.Tag = "grid" + tag;

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

                drawnpolygons.Markers.Add(m);
                drawnpolygons.Markers.Add(mBorders);
            }
            catch (Exception) { }
        }
Esempio n. 9
0
        public override void OnMapMouseUp(object sender, MouseEventArgs e)
        {
            if (!_start) return;
            this._gMapOverlay.Polygons.Clear();

            PointLatLng currentPoint = this._gMapControl.FromLocalToLatLng(e.X, e.Y);
            double mecatorStartX = 0, mecatorStartY = 0;
            double mecatorEndX = 0, mecatorEndY = 0;
            Helper.LonLat2Mercator(_startPoint.Lng, _startPoint.Lat, out mecatorStartX, out  mecatorStartY);
            Helper.LonLat2Mercator(currentPoint.Lng, currentPoint.Lat, out mecatorEndX, out  mecatorEndY);
            double left = mecatorStartX > mecatorEndX ? mecatorEndX : mecatorStartX;
            double bottom = mecatorStartY > mecatorEndY ? mecatorEndY : mecatorStartY;
            double right = mecatorStartX > mecatorEndX ? mecatorStartX : mecatorEndX;
            double top = mecatorStartY > mecatorEndY ? mecatorStartY : mecatorEndY;
            Rectangle2D rect = new Rectangle2D(left, bottom, right, top);
            Geometry geo = new Geometry(rect);
            geo.Type = GeometryType.REGION;

            //MessageBox.Show(string.Format("left:{0};bottom:{1};right:{2};top{3}", left, bottom, right, top));
            //List<PointLatLng> test = new List<PointLatLng>();
            //double lat1, lng1;
            //Helper.Mercator2LonLat(rect.LeftBottom.X, rect.LeftBottom.Y, out lng1, out lat1);
            //test.Add(new PointLatLng(lat1, lng1));
            //Helper.Mercator2LonLat(rect.LeftBottom.X, rect.RightTop.Y, out lng1, out lat1);
            //test.Add(new PointLatLng(lat1, lng1));
            //Helper.Mercator2LonLat(rect.RightTop.X, rect.RightTop.Y, out lng1, out lat1);
            //test.Add(new PointLatLng(lat1, lng1));
            //Helper.Mercator2LonLat(rect.RightTop.X, rect.LeftBottom.Y, out lng1, out lat1);
            //test.Add(new PointLatLng(lat1, lng1));
            //GMapPolygonExtension testgp = new GMapPolygonExtension("", test, 2.0F,
            //    System.Drawing.Color.FromArgb(100, 0, 0, 255), System.Drawing.Color.FromArgb(255, 255, 0, 0));
            //this._gMapOverlay.Polygons.Add(testgp);

            QueryParameterSet queryParameterSet = new QueryParameterSet();

            queryParameterSet.ReturnContent = true;
            queryParameterSet.QueryOption = QuerySetting.QueryOption;
            queryParameterSet.ExpectCount = QuerySetting.ExceptionCount;
            queryParameterSet.QueryParams = new QueryParameter[QuerySetting.LayerNames.Count];
            for (int i = 0; i < QuerySetting.LayerNames.Count; i++)
            {
                queryParameterSet.QueryParams[i] = new QueryParameter();

                queryParameterSet.QueryParams[i].Name = QuerySetting.LayerNames[i];
            }

            QueryResult queryResult = null;
            try
            {
                queryResult = _map.QueryByGeometry(_mapName, geo, SpatialQueryMode.INTERSECT, queryParameterSet);
            }
            catch (ServiceException serviceException)
            {
                MessageBox.Show(serviceException.Message);
            }

            if (queryResult != null && queryResult.Recordsets != null && queryResult.Recordsets.Length > 0)
            {
                for (int i = 0; i < queryResult.Recordsets.Length; i++)
                {
                    if (queryResult.Recordsets[i] != null && queryResult.Recordsets[i].Features != null &&
                        queryResult.Recordsets[i].Features.Length > 0)
                    {
                        for (int j = 0; j < queryResult.Recordsets[i].Features.Length; j++)
                        {
                            if (queryResult.Recordsets[i].Features[j].Geometry != null && (
                                queryResult.Recordsets[i].Features[j].Geometry.Type == GeometryType.POINT
                            || queryResult.Recordsets[i].Features[j].Geometry.Type == GeometryType.TEXT))
                            {
                                double lat, lng;
                                Helper.Mercator2LonLat(queryResult.Recordsets[i].Features[j].Geometry.Points[0].X, queryResult.Recordsets[i].Features[j].Geometry.Points[0].Y, out lng, out lat);
                                PointLatLng pointLatLng = new PointLatLng(lat, lng);
                                GMapMarkerGoogleRed marker = new GMapMarkerGoogleRed(pointLatLng);
                                _highLightOverlay.Markers.Add(marker);
                            }
                            else if (queryResult.Recordsets[i].Features[j].Geometry != null &&
                                (queryResult.Recordsets[i].Features[j].Geometry.Type == GeometryType.REGION
                            || queryResult.Recordsets[i].Features[j].Geometry.Type == GeometryType.RECTANGLE))
                            {
                                if (queryResult.Recordsets[i].Features[j].Geometry.Parts != null)
                                //queryResult.Recordsets[i].Features[j].Geometry.Parts.Length > 1)
                                {
                                    int startIndex = 0;
                                    for (int k = 0; k < queryResult.Recordsets[i].Features[j].Geometry.Parts.Length; k++)
                                    {
                                        List<PointLatLng> regionClient = new List<PointLatLng>();
                                        for (int n = startIndex; n < startIndex + queryResult.Recordsets[i].Features[j].Geometry.Parts[k]; n++)
                                        {
                                            double lat, lng;
                                            Helper.Mercator2LonLat(queryResult.Recordsets[i].Features[j].Geometry.Points[n].X, queryResult.Recordsets[i].Features[j].Geometry.Points[n].Y, out lng, out lat);
                                            regionClient.Add(new PointLatLng(lat, lng));
                                        }
                                        GMapPolygonExtension hight = new GMapPolygonExtension("", regionClient, 2.0F,
               System.Drawing.Color.FromArgb(125, 255, 0, 0), System.Drawing.Color.FromArgb(50, 255, 0, 0));
                                        _highLightOverlay.Polygons.Add(hight);
                                        startIndex += queryResult.Recordsets[i].Features[j].Geometry.Parts[k];

                                    }
                                }
                            }
                            else if (queryResult.Recordsets[i].Features[j].Geometry != null &&
                                (queryResult.Recordsets[i].Features[j].Geometry.Type == GeometryType.LINE))
                            {
                                int startIndex = 0;
                                for (int k = 0; k < queryResult.Recordsets[i].Features[j].Geometry.Parts.Length; k++)
                                {
                                    List<PointLatLng> regionClient = new List<PointLatLng>();
                                    for (int n = startIndex; n < queryResult.Recordsets[i].Features[j].Geometry.Parts[k]; n++)
                                    {
                                        double lat, lng;
                                        Helper.Mercator2LonLat(queryResult.Recordsets[i].Features[j].Geometry.Points[n].X, queryResult.Recordsets[i].Features[j].Geometry.Points[n].Y, out lng, out lat);
                                        regionClient.Add(new PointLatLng(lat, lng));
                                    }
                                    GMapRouteExtension hight = new GMapRouteExtension("", regionClient,
               System.Drawing.Color.FromArgb(125, 255, 0, 0), 5.0F, false);
                                    _highLightOverlay.Routes.Add(hight);
                                    startIndex += queryResult.Recordsets[i].Features[j].Geometry.Parts[k];

                                }
                            }
                        }
                    }
                }
            }

            _start = false;
            base.OnMapMouseUp(sender, e);
        }
Esempio n. 10
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;
        }
Esempio n. 11
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);
            }
        }
        private void DataFrame_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            Geometry selectedGeometry = this.DataFrame.Rows[e.RowIndex].Tag as Geometry;
            _highLightOverlay.Markers.Clear();
            _highLightOverlay.Polygons.Clear();
            _highLightOverlay.Routes.Clear();

            if (selectedGeometry.Type == GeometryType.POINT || selectedGeometry.Type == GeometryType.TEXT)
            {
                double lat, lng;
                Helper.Mercator2LonLat(selectedGeometry.Points[0].X, selectedGeometry.Points[0].Y, out lng, out lat);
                PointLatLng pointLatLng = new PointLatLng(lat, lng);
                GMapMarkerGoogleRed marker = new GMapMarkerGoogleRed(pointLatLng);
                _highLightOverlay.Markers.Add(marker);
            }
            else if (selectedGeometry.Type == GeometryType.LINE)
            {

            }
            else if (selectedGeometry.Type == GeometryType.RECTANGLE || selectedGeometry.Type == GeometryType.REGION ||
                selectedGeometry.Type == GeometryType.ROUNDRECTANGLE)
            {

            }
        }
Esempio n. 13
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;
        }