Пример #1
0
        private void PlaybackTickTock()
        {
            GPSTrack currentTrack = GlobalData.allTrack[iNum];

            gMapControl1.Position = new PointLatLng(currentTrack.Lat, currentTrack.Lon);
            if (chkLeaveTrail.Checked == false)
            {
                gMapControl1.Overlays.Clear();
            }
            GMapOverlay           overlay = new GMapOverlay(gMapControl1, "base");
            GMapMarkerGoogleGreen home    = new GMapMarkerGoogleGreen(new PointLatLng(currentTrack.Lat, currentTrack.Lon));

            overlay.Markers.Add(home);
            gMapControl1.Overlays.Add(overlay);
            foreach (DataGridViewRow row in gvData.Rows)
            {
                if (Convert.ToInt32(row.Cells[0].Value) == iNum)
                {
                    row.DefaultCellStyle.BackColor = Color.Red;
                }
                else if (Convert.ToInt32(row.Cells[0].Value) < iNum)
                {
                    row.DefaultCellStyle.BackColor = Color.Gray;
                }
            }
        }
Пример #2
0
 private void LoadPlaybackByBeat()
 {
     try
     {
         gvData.DataSource = null;
         gvData.Rows.Clear();
         bool LogonOnly = false;
         if (chkLogon.Checked == true)
         {
             LogonOnly = true;
         }
         DateTime dtStart = Convert.ToDateTime(dtpStart.Text + " 00:00:00");
         DateTime dtEnd   = Convert.ToDateTime(dtpEnd.Text + " 23:59:59");
         SQLCode  mySQL   = new SQLCode();
         mySQL.LoadTrackingDataByBeat(cboBeats.Text, dtStart, dtEnd, LogonOnly);
         gvData.DataSource = GlobalData.allTrack;
         GPSTrack firstTrack = GlobalData.allTrack[0];
         gMapControl1.Position = new PointLatLng(firstTrack.Lat, firstTrack.Lon);
         gMapControl1.Overlays.Clear();
         GMapOverlay           overlay = new GMapOverlay(gMapControl1, "base");
         GMapMarkerGoogleGreen home    = new GMapMarkerGoogleGreen(new PointLatLng(firstTrack.Lat, firstTrack.Lon));
         overlay.Markers.Add(home);
         gMapControl1.Overlays.Add(overlay);
         iEventCount = GlobalData.allTrack.Count - 1;
         foreach (DataGridViewRow row in gvData.Rows)
         {
             row.DefaultCellStyle.BackColor = Color.White;
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
Пример #3
0
        public void gmaps(int zooom, double geo_lat, double geo_lon)
        {
            gMapControl1.Bearing            = 0;
            gMapControl1.CanDragMap         = true;                                      //Открываем доступ к манипулированию картой мышью через зажатие правой кнопкой(по умолчанию).
            gMapControl1.DragButton         = MouseButtons.Left;                         //Меняем кнопку манипулирования с правой кнопки(по умолчанию) на левую кнопку мыши.
            gMapControl1.GrayScaleMode      = true;
            gMapControl1.MaxZoom            = 18;                                        //Устанавливаем максимальное приближение.
            gMapControl1.MinZoom            = 2;                                         //Устанавливаем минимальное приближение.
            gMapControl1.Zoom               = zooom;
            gMapControl1.MouseWheelZoomType = MouseWheelZoomType.MousePositionAndCenter; //Устанавливаем центр приближения/удаления курсор мыши.

            gMapControl1.PolygonsEnabled   = true;                                       //Открываем отображение полигонов на карте.
            gMapControl1.MarkersEnabled    = true;                                       //Открываем отображение маркеров на карте.
            gMapControl1.NegativeMode      = false;                                      //Отказываемся от негативного режима
            gMapControl1.ShowTileGridLines = false;                                      //Скрываем внешнюю сетку карты с заголовками

            //Указываем что будем использовать карты Google.
            gMapControl1.MapProvider = GMapProviders.GoogleMap;
            GMaps.Instance.Mode      = AccessMode.ServerOnly;

            gMapControl1.Position = new PointLatLng(geo_lat, geo_lon);                                           //Зададим стартовую позицию, я укажу "Красную площадь".
            GMapOverlay           markersOverlay = new GMapOverlay(gMapControl1, "marker");                      //Создадим коллекцию маркеров, указываем что имя коллекции "marker", а использоваться она будет в gMapControl1
            GMapMarkerGoogleGreen marker         = new GMapMarkerGoogleGreen(new PointLatLng(geo_lat, geo_lon)); //Создаем новый маркер.

            marker.ToolTip     = new GMapRoundedToolTip(marker);                                                 //Создаем всплывающее окно
            marker.ToolTipText = (nasp + ", " + yl.Text + ", " + dom.Text);                                      //Задаем текст для всплывающего окна

            markersOverlay.Markers.Add(marker);                                                                  //Добавляем маркер коллекцию.
            gMapControl1.Overlays.Add(markersOverlay);                                                           //Добавляем коллекцию в очередь на вывод на карту.
        }
Пример #4
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(ArdupilotMega.MainV2.config["TXT_WPRad"].ToString()) / MainV2.comPort.MAV.cs.multiplierdist);
                    }
                    catch { }
                    //mBorders.MainMap = MainMap;
                    if (color.HasValue)
                    {
                        mBorders.Color = color.Value;
                    }
                }

                overlay.Markers.Add(m);
                overlay.Markers.Add(mBorders);
            }
            catch (Exception) { }
        }
Пример #5
0
        // 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);
        }
Пример #6
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)
                {
                }
            }
        }
Пример #7
0
        private void Form1_Load(object sender, EventArgs e)
        {
            pictureBoxLogo.BackColor = Color.Transparent;

            gMapControl1.Bearing            = 0;
            gMapControl1.CanDragMap         = true;                                      //Открываем доступ к манипулированию картой мышью через зажатие правой кнопкой(по умолчанию).
            gMapControl1.DragButton         = MouseButtons.Left;                         //Меняем кнопку манипулирования с правой кнопки(по умолчанию) на левую кнопку мыши.
            gMapControl1.GrayScaleMode      = true;
            gMapControl1.MaxZoom            = 20;                                        //Устанавливаем максимальное приближение.
            gMapControl1.MinZoom            = 14;                                        //Устанавливаем минимальное приближение.
            gMapControl1.MouseWheelZoomType = MouseWheelZoomType.MousePositionAndCenter; //Устанавливаем центр приближения/удаления курсор мыши.

            gMapControl1.PolygonsEnabled   = true;                                       //Открываем отображение полигонов на карте.
            gMapControl1.MarkersEnabled    = true;                                       //Открываем отображение маркеров на карте.
            gMapControl1.NegativeMode      = false;                                      //Отказываемся от негативного режима
            gMapControl1.ShowTileGridLines = false;                                      //Скрываем внешнюю сетку карты с заголовками
            gMapControl1.Dock = DockStyle.Fill;                                          //Закрепляем контрол внутри формы, чтобы размеры контрола изменялись вместе с размером формы.
                                                                                         //gMapControl1.MapProvider = GMapProviders.OpenStreetMap; //Указываем что будут использоваться карты OpenStreetMaps. Здесь куча карт на выбор.
            gMapControl1.MapProvider = GMapProviders.BingMap;
            GMaps.Instance.Mode      = AccessMode.ServerOnly;
            //Если у вас используется прокси то вам нужны еще эти строки, описывать не буду, скажу только что параметры входа берутся из IE:
            //GMapProvider.WebProxy = System.Net.WebRequest.GetSystemWebProxy();
            //GMapProvider.WebProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;

            gMapControl1.Position = new GMap.NET.PointLatLng(54.997656, 82.695610);                                  //Зададим стартовую позицию, я укажу "Красную площадь".
            GMapOverlay           markersOverlay = new GMapOverlay(gMapControl1, "marker");                          //Создадим коллекцию маркеров, указываем что имя коллекции "marker", а использоваться она будет в gMapControl1
            GMapMarkerGoogleGreen marker         = new GMapMarkerGoogleGreen(new PointLatLng(54.997656, 82.695610)); //Создаем новый маркер.

            marker.ToolTip     = new GMapRoundedToolTip(marker);                                                     //Создаем всплывающее окно
            marker.ToolTipText = "Дом";                                                                              //Задаем текст для всплывающего окна
            gMapControl1.Zoom  = 14;

            markersOverlay.Markers.Add(marker);        //Добавляем маркер коллекцию.
            gMapControl1.Overlays.Add(markersOverlay); //Добавляем коллекцию в очередь на вывод на карту.
        }
Пример #8
0
        private void PushPoint(double lat, double lon, string id)
        {
            GMapOverlay           pointOverlay = new GMapOverlay(gMapControl1, "point");
            GMapMarkerGoogleGreen marker       = new GMapMarkerGoogleGreen(new PointLatLng(lat, lon));

            pointOverlay.Markers.Add(marker);
            gMapControl1.Overlays.Add(pointOverlay);
        }
Пример #9
0
        private void AddMarker(double lat, double lng, Station station)
        {
            var marker = new GMapMarkerGoogleGreen(new NET.PointLatLng(lat, lng));

            marker.ToolTip     = new GMapRoundedToolTip(marker);
            marker.ToolTipText = station.StationName;
            _markersOverlay.Markers.Add(marker);
            gMapControl1.Overlays.Add(_markersOverlay);
        }
Пример #10
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);
        }
Пример #11
0
        private void InitMap()
        {
            lat = Convert.ToDouble(txtLat.Text);
            lon = Convert.ToDouble(txtLon.Text);
            gMapControl1.MapProvider = GMap.NET.MapProviders.OpenStreetMapProvider.Instance;
            GMaps.Instance.Mode      = AccessMode.ServerOnly;
            gMapControl1.Position    = new PointLatLng(lat, lon);
            GMapOverlay           overlay = new GMapOverlay(gMapControl1, "base");
            GMapMarkerGoogleGreen home    = new GMapMarkerGoogleGreen(new PointLatLng(lat, lon));

            overlay.Markers.Add(home);
            gMapControl1.Overlays.Add(overlay);
        }
Пример #12
0
        private void InitMap()
        {
            gMapControl1.MapProvider = GMap.NET.MapProviders.OpenStreetMapProvider.Instance;
            GMaps.Instance.Mode      = AccessMode.ServerOnly;
            gMapControl1.Position    = new PointLatLng(35.0844, -106.6506);
            GMapOverlay           overlay = new GMapOverlay(gMapControl1, "base");
            GMapMarkerGoogleGreen home    = new GMapMarkerGoogleGreen(new PointLatLng(35.0844, -106.6506));

            home.Size                   = Size.Add(new System.Drawing.Size(20, 20), new System.Drawing.Size(20, 20));
            home.ToolTipText            = "This is my home locaiton";
            gMapControl1.OnMarkerClick += new MarkerClick(gMapControl1_OnMarkerClick);
            overlay.Markers.Add(home);
            gMapControl1.Overlays.Add(overlay);
        }
Пример #13
0
        void gvData_SelectionChanged(object sender, EventArgs e)
        {
            var gv = (DataGridView)sender;

            foreach (DataGridViewRow row in gv.SelectedRows)
            {
                int      id           = Convert.ToInt32(row.Cells[0].Value);
                GPSTrack currentTrack = GlobalData.allTrack[id];
                gMapControl1.Position = new PointLatLng(currentTrack.Lat, currentTrack.Lon);
                gMapControl1.Overlays.Clear();
                GMapOverlay           overlay = new GMapOverlay(gMapControl1, "base");
                GMapMarkerGoogleGreen home    = new GMapMarkerGoogleGreen(new PointLatLng(currentTrack.Lat, currentTrack.Lon));
                overlay.Markers.Add(home);
                gMapControl1.Overlays.Add(overlay);
            }
        }
Пример #14
0
 private void gMapControl1_MouseClick(object sender, MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Right)
     {
         if (markerG != null)
         {
             markersOverlayGreen.Markers.Remove(markerG);
         }
         double X = gMapControl1.FromLocalToLatLng(e.X, e.Y).Lng;
         double Y = gMapControl1.FromLocalToLatLng(e.X, e.Y).Lat;
         markerG         = new GMapMarkerGoogleGreen(new GMap.NET.PointLatLng(Y, X));
         markerG.ToolTip =
             new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(markerG);
         markerG.ToolTipText = "Я";
         markersOverlayGreen.Markers.Add(markerG);
         gMapControl1.Overlays.Add(markersOverlayGreen);
     }
 }
Пример #15
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;
            }
        }
Пример #16
0
        private void wyswietlanie()
        {
            SqlDataAdapter da;

            da = new SqlDataAdapter("SELECT [Lat1],[Lng2] FROM [test].[dbo].[M]", con);

            var dt = new DataTable();

            da.Fill(dt);
            dataGridView1.DataSource = dt;

            //    MySqlDataAdapter da = new MySqlDataAdapter("select * from sinkhole where sinkhole_status = '" + "Active" + "'", Conn);
            //    MySqlCommandBuilder cBuilder = new MySqlCommandBuilder(da);

            // DataTable dataTable = new DataTable();
            // DataSet ds = new DataSet();
            // da.Fill(dataTable);

            for (int i = dataGridView1.Rows.Count - 1; i >= 0; i--)
            {
                double lng = Convert.ToDouble(dataGridView1.Rows[i].Cells[1].Value);
                double lat = Convert.ToDouble(dataGridView1.Rows[i].Cells[0].Value);

                // double lng = double.Parse(dataGridView1.Rows[i][4].ToString());
                //  double lat = double.Parse(dataGridView1.Rows[i][3].ToString());
                //string location = dataTable.Rows[i][2].ToString();
                // string name = dataTable.Rows[i][1].ToString();
                // string desciption = dataTable.Rows[i][5].ToString();

                GMapOverlay           markersOverlay = new GMapOverlay("marker");
                GMapMarkerGoogleGreen marker         = new GMapMarkerGoogleGreen(new PointLatLng(lat, lng));
                markersOverlay.Markers.Add(marker);
                //marker.ToolTipMode = MarkerTooltipMode.Always;
                marker.ToolTip     = new GMapRoundedToolTip(marker);
                marker.ToolTipText = "Coordinates: (" + Convert.ToString(lat) + "," + Convert.ToString(lng);
                map.Overlays.Add(markersOverlay);
            }
        }
Пример #17
0
 public static void UpdatePosition(int idx)
 {
     try
     {
         int count = pts2.Count;
         if (count > 0 && idx <= count - 1)
         {
             string[] strArrays = Pos[idx].Split(new char[] { ';' });
             if (!strArrays[0].ToUpper().StartsWith("N"))
             {
                 strArrays[0] = string.Concat("-", strArrays[0].Substring(1));
             }
             else
             {
                 strArrays[0] = strArrays[0].Substring(1);
             }
             if (!strArrays[1].ToUpper().StartsWith("W"))
             {
                 strArrays[1] = strArrays[1].Substring(1);
             }
             else
             {
                 strArrays[1] = string.Concat("-", strArrays[1].Substring(1));
             }
             if (idx > 2)
             {
                 string[] strArrays1 = Pos[idx - 1].Split(new char[] { ';' });
                 if (!strArrays1[0].ToUpper().StartsWith("N"))
                 {
                     strArrays1[0] = string.Concat("-", strArrays1[0].Substring(1));
                 }
                 else
                 {
                     strArrays1[0] = strArrays1[0].Substring(1);
                 }
                 if (!strArrays1[1].ToUpper().StartsWith("W"))
                 {
                     strArrays1[1] = strArrays1[1].Substring(1);
                 }
                 else
                 {
                     strArrays1[1] = string.Concat("-", strArrays1[1].Substring(1));
                 }
                 LastLat = Convert.ToDouble(strArrays1[0]);
                 LastLng = Convert.ToDouble(strArrays1[1]);
                 if (LastLat != 0 && LastLng != 0)
                 {
                     double num  = CalcDist(new PointLatLng(LastLat, LastLng), new PointLatLng(Convert.ToDouble(strArrays[0]), Convert.ToDouble(strArrays[1])));
                     double num1 = num * 5280 * 0.681818 * 0.621371;
                     CompassBearing = (int)Geodesy.Bearing(LastLat, LastLng, Convert.ToDouble(strArrays[0]), Convert.ToDouble(strArrays[1]));
                     compass.SetData((int)num1, CompassBearing);
                 }
             }
             PointLatLng pointLatLng = new PointLatLng(Convert.ToDouble(strArrays[0]), Convert.ToDouble(strArrays[1]));
             mainMap.Overlays.Clear();
             Markers.Markers.Clear();
             GMapMarker gMapMarkerGoogleGreen = new GMapMarkerGoogleGreen(mainMap.Position);
             Markers.Markers.Add(gMapMarkerGoogleGreen);
             mainMap.Overlays.Add(Markers);
             mainMap.Position = pointLatLng;
         }
     }
     catch (Exception exception)
     {
     }
 }
Пример #18
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;
            }
        }
Пример #19
0
        private void SetRouteForm_Load(object sender, EventArgs e)
        {
            UtilityClass.CopyHashTableStringList(mf.NodeNetMap, NewNetMap);
            UtilityClass.CopyHashTableStringListArray(mf.NodeRouteMap, NewRouteMap);
            UtilityClass.CopyHashTableString(mf.DistMap, DistMap);
            double v = 0.5;

            // config map
            string[] str = { "地图配置", "地图中心", "纬度" };
            double   lat = double.Parse(XmlHelper.GetConfigValue(xmldoc, str));

            string[]    lngstr = { "地图配置", "地图中心", "经度" };
            double      lng    = double.Parse(XmlHelper.GetConfigValue(xmldoc, lngstr));
            PointLatLng p      = new PointLatLng(lat, lng);

            // set node marker

            p.Offset(GpsToGmapOffset);
            routemap.Position           = p;
            NodeMarker                  = new UserMarker(p);
            NodeMarker.IsHitTestVisible = true;
            objects.Markers.Add(NodeMarker);
            NodeMarker.ToolTipMode = MarkerTooltipMode.OnMouseOver;
            CultureInfo ci     = new CultureInfo("en-us");
            PointLatLng gpspos = NodeMarker.Position;

            gpspos.Offset(GmapToGpsOffset);
            NodeMarker.ToolTipText = "GPS\r\n{经度=" + gpspos.Lng.ToString("F08", ci) + ",纬度=" + gpspos.Lat.ToString("F08", ci) + "}";
            string[] offsetstr  = { "地图配置", "偏移校准", "纬度" };
            string[] offsetstr1 = { "地图配置", "偏移校准", "经度" };
            string   offset     = XmlHelper.GetConfigValue(xmldoc, offsetstr);
            double   latoffset  = 0;
            double   lngoffset  = 0;

            if (offset != null)
            {
                latoffset = double.Parse(offset);
            }
            offset = XmlHelper.GetConfigValue(xmldoc, offsetstr1);
            if (offset != null)
            {
                lngoffset = double.Parse(offset);
            }
            if ((lngoffset != 0) && (latoffset != 0))
            {
                GmapToGpsOffset = new PointLatLng(latoffset, lngoffset);
                GpsToGmapOffset = new PointLatLng(-latoffset, -lngoffset);
            }

            routemap.MapType = mf.MainMap.MapType;
            routemap.MinZoom = 1;
            routemap.MaxZoom = 18;
            routemap.Zoom    = 16;
            routemap.MapName = "路由设置";


            gtl = new PointLatLng(lat + v, lng - v);
            gtl.Offset(GpsToGmapOffset);
            gbr = new PointLatLng(lat - v, lng + v);
            gbr.Offset(GpsToGmapOffset);

            //读取节点
            XmlDocument xmlfile = new XmlDocument();

            xmlfile.Load(xmldoc);
            XmlNode xn = xmlfile.DocumentElement;

            xn = xn.SelectSingleNode("descendant::节点配置");
            foreach (XmlNode subnode in xn.ChildNodes)
            {
                NodeBox.Items.Add(subnode.Name);
                string[] sstr    = { "节点配置", subnode.Name, "节点位置", "纬度" };
                double   slat    = double.Parse(XmlHelper.GetConfigValue(xmldoc, sstr));
                string[] lngsstr = { "节点配置", subnode.Name, "节点位置", "经度" };
                double   slng    = double.Parse(XmlHelper.GetConfigValue(xmldoc, lngsstr));
                //string[] desc = { "节点配置", subnode.Name, "节点描述" };
                //string strdes = XmlHelper.GetConfigValue(xmldoc, desc);
                PointLatLng pp = new PointLatLng(slat, slng);
                pp.Offset(GpsToGmapOffset);
                GMapMarkerGoogleGreen newnode = new GMapMarkerGoogleGreen(pp);
                newnode.Tag              = subnode.Name;
                newnode.ToolTipMode      = MarkerTooltipMode.Always;
                newnode.IsHitTestVisible = true;
                pp.Offset(GmapToGpsOffset);
                newnode.ToolTipText = newnode.Tag.ToString();
                WebNodeLayer.Markers.Add(newnode);
            }

            if (objects.Markers.Count > 0)
            {
                routemap.ZoomAndCenterMarkers(null);
                //ZoomSlider.Value = (int)MainMap.Zoom;
            }

            //AddRoutes();
            AddNet();
            RefreshNetGrid();//更新网络表
            //注册网络表改变事件
            Net.Routes.CollectionChanged += new GMap.NET.ObjectModel.NotifyCollectionChangedEventHandler(Net_CollectionChanged);
        }