private void DrawTrackPointAddr(IList <TrackPoint> data)
        {
            string oldAddress = string.Empty;
            string oldRoad    = string.Empty;

            foreach (var p in data)
            {
                string address = MapHelper.GetAreaFromGpsData(p);

                if (!string.IsNullOrEmpty(address) && address != oldAddress)
                {
                    oldAddress = address;
                    // Marker
                    //var m = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(Feng.Map.GoogleMapOffset.GetOffseted(new PointLatLng(p.Lat, p.Lon)));
                    var m = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(new PointLatLng(p.Latitude, p.Longitude));

                    m.ToolTipText = address + "," + p.GpsTime.ToLongTimeString();
                    m_trackOverlay.Markers.Add(m);
                }

                string road = MapHelper.GetRoadFromGpsData(p);
                if (!string.IsNullOrEmpty(road) && road != oldRoad)
                {
                    oldRoad = road;
                    //var m = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed(Feng.Map.GoogleMapOffset.GetOffseted(new PointLatLng(p.Lat, p.Lon)));
                    var m = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(new PointLatLng(p.Latitude, p.Longitude));

                    m.ToolTipText = road + "," + p.GpsTime.ToLongTimeString();
                    m_trackOverlay.Markers.Add(m);
                }
            }
        }
Beispiel #2
0
 private void markCurrentLocation(Geocoder.Location location)
 {
     var lat = location.Latitude;
     var lon = location.Longitude;
     GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen m = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(new GMap.NET.PointLatLng(lat, lon));
     currentPosition = m;
     markerOverlay.Markers.Add(m);
     m.ToolTipText = "Current Position";
 }
Beispiel #3
0
        private void markCurrentLocation(Geocoder.Location location)
        {
            var lat = location.Latitude;
            var lon = location.Longitude;

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen m = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(new GMap.NET.PointLatLng(lat, lon));
            currentPosition = m;
            markerOverlay.Markers.Add(m);
            m.ToolTipText = "Current Position";
        }
        //метод для отслежки клиента
        private void button4_Click(object sender, EventArgs e)
        {
            if (comboBox1234.Text == String.Empty)
            {
                MessageBox.Show("Выберите клиента чтобы отследить!");
            }
            else
            {
                //Очищаем таблицу перед загрузкой данных.
                dtRouter.Rows.Clear();

                //Создаем список способов перемещения.
                List <string> mode = new List <string>();
                //Автомобильные маршруты по улично-дорожной сети.
                mode.Add("driving");
                //Пешеходные маршруты по прогулочным дорожкам и тротуарам.
                mode.Add("walking");
                //Велосипедные маршруты по велосипедным дорожкам и предпочитаемым улицам.
                mode.Add("bicycling");
                //Маршруты общественного транспорта.
                mode.Add("transit");

                //Фрмируем запрос к API маршрутов Google.
                string url = string.Format(
                    "http://maps.googleapis.com/maps/api/directions/xml?origin={0},&destination={1}&sensor=false&language=ru&mode={2}",
                    Uri.EscapeDataString(textBox1.Text), Uri.EscapeDataString(textBox2.Text), Uri.EscapeDataString(mode[comboBox1.SelectedIndex]));

                //Выполняем запрос к универсальному коду ресурса (URI).
                System.Net.HttpWebRequest request =
                    (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);

                //Получаем ответ от интернет-ресурса.
                System.Net.WebResponse response =
                    request.GetResponse();

                //Экземпляр класса System.IO.Stream
                //для чтения данных из интернет-ресурса.
                System.IO.Stream dataStream =
                    response.GetResponseStream();

                //Инициализируем новый экземпляр класса
                //System.IO.StreamReader для указанного потока.
                System.IO.StreamReader sreader =
                    new System.IO.StreamReader(dataStream);

                //Считываем поток от текущего положения до конца.
                string responsereader = sreader.ReadToEnd();

                //Закрываем поток ответа.
                response.Close();

                System.Xml.XmlDocument xmldoc =
                    new System.Xml.XmlDocument();

                xmldoc.LoadXml(responsereader);

                if (xmldoc.GetElementsByTagName("status")[0].ChildNodes[0].InnerText == "OK")
                {
                    System.Xml.XmlNodeList nodes =
                        xmldoc.SelectNodes("//leg//step");

                    //Формируем строку для добавления в таблицу.
                    object[] dr;
                    for (int i = 0; i < nodes.Count; i++)
                    {
                        //Указываем что массив будет состоять из
                        //восьми значений.
                        dr = new object[8];
                        //Номер шага.
                        dr[0] = i;
                        //Получение координат начала отрезка.
                        dr[1] = xmldoc.SelectNodes("//start_location").Item(i).SelectNodes("lat").Item(0).InnerText.ToString();
                        dr[2] = xmldoc.SelectNodes("//start_location").Item(i).SelectNodes("lng").Item(0).InnerText.ToString();
                        //Получение координат конца отрезка.
                        dr[3] = xmldoc.SelectNodes("//end_location").Item(i).SelectNodes("lat").Item(0).InnerText.ToString();
                        dr[4] = xmldoc.SelectNodes("//end_location").Item(i).SelectNodes("lng").Item(0).InnerText.ToString();
                        //Получение времени необходимого для прохождения этого отрезка.
                        dr[5] = xmldoc.SelectNodes("//duration").Item(i).SelectNodes("text").Item(0).InnerText.ToString();
                        //Получение расстояния, охватываемое этим отрезком.
                        dr[6] = xmldoc.SelectNodes("//distance").Item(i).SelectNodes("text").Item(0).InnerText.ToString();
                        //Получение инструкций для этого шага, представленные в виде текстовой строки HTML.
                        dr[7] = HtmlToPlainText(xmldoc.SelectNodes("//html_instructions").Item(i).InnerText.ToString());
                        //Добавление шага в таблицу.
                        dtRouter.Rows.Add(dr);
                    }

                    //Выводим в текстовое поле адрес начала пути.
                    textBox1.Text = xmldoc.SelectNodes("//leg//start_address").Item(0).InnerText.ToString();
                    //Выводим в текстовое поле адрес конца пути.
                    textBox2.Text = xmldoc.SelectNodes("//leg//end_address").Item(0).InnerText.ToString();
                    //Выводим в текстовое поле время в пути.
                    textBox3.Text = xmldoc.GetElementsByTagName("duration")[nodes.Count].ChildNodes[1].InnerText;
                    //Выводим в текстовое поле расстояние от начальной до конечной точки.
                    textBox4.Text = xmldoc.GetElementsByTagName("distance")[nodes.Count].ChildNodes[1].InnerText;

                    //Переменные для хранения координат начала и конца пути.
                    double latStart = 0.0;
                    double lngStart = 0.0;
                    double latEnd   = 0.0;
                    double lngEnd   = 0.0;

                    //Получение координат начала пути.
                    latStart = System.Xml.XmlConvert.ToDouble(xmldoc.GetElementsByTagName("start_location")[nodes.Count].ChildNodes[0].InnerText);
                    lngStart = System.Xml.XmlConvert.ToDouble(xmldoc.GetElementsByTagName("start_location")[nodes.Count].ChildNodes[1].InnerText);
                    //Получение координат конечной точки.
                    latEnd = System.Xml.XmlConvert.ToDouble(xmldoc.GetElementsByTagName("end_location")[nodes.Count].ChildNodes[0].InnerText);
                    lngEnd = System.Xml.XmlConvert.ToDouble(xmldoc.GetElementsByTagName("end_location")[nodes.Count].ChildNodes[1].InnerText);

                    //Выводим в текстовое поле координаты начала пути.
                    textBox5.Text = latStart + ";" + lngStart;
                    //Выводим в текстовое поле координаты конечной точки.
                    textBox6.Text = latEnd + ";" + lngEnd;

                    //Устанавливаем заполненную таблицу в качестве источника.
                    dataGridView1.DataSource = dtRouter;

                    //Устанавливаем позицию карты на начало пути.
                    gMapControl1.Position = new GMap.NET.PointLatLng(latStart, lngStart);

                    //Создаем новый список маркеров, с указанием компонента
                    //в котором они будут использоваться и названием списка.
                    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(latStart, lngStart));
                    markerG.ToolTip =
                        new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(markerG);

                    //Указываем, что подсказку маркера, необходимо отображать всегда.
                    markerG.ToolTipMode = GMap.NET.WindowsForms.MarkerTooltipMode.Always;

                    //Формируем подсказку для маркера.
                    string[] wordsG      = textBox1.Text.Split(',');
                    string   dataMarkerG = string.Empty;
                    foreach (string word in wordsG)
                    {
                        dataMarkerG += word + ";\n";
                    }

                    //Устанавливаем текст подсказки маркера.
                    markerG.ToolTipText = dataMarkerG;

                    //Инициализация нового Красного маркера, с указанием координат конца пути.
                    GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed markerR =
                        new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed(
                            new GMap.NET.PointLatLng(latEnd, lngEnd));
                    markerG.ToolTip =
                        new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(markerG);

                    //Указываем, что подсказку маркера, необходимо отображать всегда.
                    markerR.ToolTipMode = GMap.NET.WindowsForms.MarkerTooltipMode.Always;

                    //Формируем подсказку для маркера.
                    string[] wordsR      = textBox2.Text.Split(',');
                    string   dataMarkerR = string.Empty;
                    foreach (string word in wordsR)
                    {
                        dataMarkerR += word + ";\n";
                    }

                    //Текст подсказки маркера.
                    markerR.ToolTipText = dataMarkerR;

                    //Добавляем маркеры в список маркеров.
                    markersOverlay.Markers.Add(markerG);
                    markersOverlay.Markers.Add(markerR);

                    //Очищаем список маркеров компонента.
                    gMapControl1.Overlays.Clear();

                    //Создаем список контрольных точек для прокладки маршрута.
                    List <GMap.NET.PointLatLng> list = new List <GMap.NET.PointLatLng>();

                    //Проходимся по определенным столбцам для получения
                    //координат контрольных точек маршрута и занесением их
                    //в список координат.
                    for (int i = 0; i < dtRouter.Rows.Count; i++)
                    {
                        double dbStartLat = double.Parse(dtRouter.Rows[i].ItemArray[1].ToString(), System.Globalization.CultureInfo.InvariantCulture);
                        double dbStartLng = double.Parse(dtRouter.Rows[i].ItemArray[2].ToString(), System.Globalization.CultureInfo.InvariantCulture);

                        list.Add(new GMap.NET.PointLatLng(dbStartLat, dbStartLng));

                        double dbEndLat = double.Parse(dtRouter.Rows[i].ItemArray[3].ToString(), System.Globalization.CultureInfo.InvariantCulture);
                        double dbEndLng = double.Parse(dtRouter.Rows[i].ItemArray[4].ToString(), System.Globalization.CultureInfo.InvariantCulture);

                        list.Add(new GMap.NET.PointLatLng(dbEndLat, dbEndLng));
                    }

                    //Очищаем все маршруты.
                    markersOverlay.Routes.Clear();

                    //Создаем маршрут на основе списка контрольных точек.
                    GMap.NET.WindowsForms.GMapRoute r = new GMap.NET.WindowsForms.GMapRoute(list, "Route");

                    //Указываем, что данный маршрут должен отображаться.
                    r.IsVisible = true;

                    //Устанавливаем цвет маршрута.
                    r.Stroke.Color = Color.DarkGreen;

                    //Добавляем маршрут.
                    markersOverlay.Routes.Add(r);

                    //Добавляем в компонент, список маркеров и маршрутов.
                    gMapControl1.Overlays.Add(markersOverlay);

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

                    //Обновляем карту.
                    gMapControl1.Refresh();
                }
            }
        }
Beispiel #5
0
        private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            int deviceId = Convert.ToInt32(checkedListBox1.Items[e.Index]);
            if (e.NewValue == CheckState.Unchecked)
            {
                foreach (GMapMarker item in markersOverlay.Markers)
                {
                    if (Convert.ToInt32(item.Tag) == deviceId)
                    {
                        markersOverlay.Markers.Remove(item);
                        break;
                    }
                }

                RemoveDataPerDevice(deviceId);
                //pictureBox1.ImageLocation = parserXml.DeviceImage;
                //pictureBox1.Update();
            }
            if (e.NewValue == CheckState.Checked)
            {
                RequestDeviceData(deviceId, false);
                List<Measurement> last = RequestDeviceData(deviceId, true);
                //String filepath = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + @"\Images\smile.png";
                //CustomMarker marker = new CustomMarker(new PointLatLng(34.6961334816182, 25.2985095977783), new Bitmap(filepath));
                //marker.Size = new Size(11, 11);
                System.Globalization.NumberFormatInfo nmf = new System.Globalization.NumberFormatInfo();
                nmf.NumberDecimalSeparator = ".";
                if (last.Count > 0)
                {
                    if (Convert.ToDouble(last[0].temprature) > 25.0)
                    {
                        //GMapMarker marker = new GMap.NET.WindowsForms.Markers.GMapMarker(new PointLatLng(Convert.ToDouble(last[0].latitude, nmf), Convert.ToDouble(last[0].longitude, nmf)));

                        GMapMarker marker = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed(new PointLatLng(Convert.ToDouble(last[0].latitude, nmf), Convert.ToDouble(last[0].longitude, nmf)));
                        marker.Tag = deviceId;
                        markersOverlay.Markers.Add(marker);
                    }
                    else
                    {
                        GMapMarker marker = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(new PointLatLng(Convert.ToDouble(last[0].latitude, nmf), Convert.ToDouble(last[0].longitude, nmf)));
                        marker.Tag = deviceId;
                        markersOverlay.Markers.Add(marker);
                    }
                }
                pictureBox1.ImageLocation = String.Format("http://chemigallego.es:2013/SmartCity/GetImage.aspx?device={0}", deviceId);
                pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
                pictureBox1.Update();
            }

            foreach (GMapMarker item in markersOverlay.Markers)
            {
                gMapControl1.UpdateMarkerLocalPosition(item);
            }

            gMapControl1.ZoomAndCenterMarkers("markers");

            dataGridView1.DataSource = null;
            dataGridView1.DataSource = Data;
            dataGridView1.Refresh(); // Make sure this comes first
            dataGridView1.Parent.Refresh(); // Make sure this comes second
        }
        private void DrawTrackPointAddr(IList<TrackPoint> data)
        {
            string oldAddress = string.Empty;
            string oldRoad = string.Empty;
            foreach (var p in data)
            {
                string address = MapHelper.GetAreaFromGpsData(p);

                if (!string.IsNullOrEmpty(address) && address != oldAddress)
                {
                    oldAddress = address;
                    // Marker
                    //var m = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(Feng.Map.GoogleMapOffset.GetOffseted(new PointLatLng(p.Lat, p.Lon)));
                    var m = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(new PointLatLng(p.Latitude, p.Longitude));

                    m.ToolTipText = address + "," + p.GpsTime.ToLongTimeString();
                    m_trackOverlay.Markers.Add(m);
                }

                string road = MapHelper.GetRoadFromGpsData(p);
                if (!string.IsNullOrEmpty(road) && road != oldRoad)
                {
                    oldRoad = road;
                    //var m = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed(Feng.Map.GoogleMapOffset.GetOffseted(new PointLatLng(p.Lat, p.Lon)));
                    var m = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(new PointLatLng(p.Latitude, p.Longitude));

                    m.ToolTipText = road + "," + p.GpsTime.ToLongTimeString();
                    m_trackOverlay.Markers.Add(m);
                }
            }
        }
Beispiel #7
0
        private void Form1_Load(object sender, EventArgs e)
        {
            //Настройки для компонента GMap.
            gMapControl1.Bearing = 0;

            //CanDragMap - Если параметр установлен в True,
            //пользователь может перетаскивать карту
            ///с помощью правой кнопки мыши.
            gMapControl1.CanDragMap = true;

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

            gMapControl1.GrayScaleMode = true;

            //MarkersEnabled - Если параметр установлен в True,
            //любые маркеры, заданные вручную будет показаны.
            //Если нет, они не появятся.
            gMapControl1.MarkersEnabled = true;

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

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

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

            //Отказываемся от негативного режима.
            gMapControl1.NegativeMode = false;

            //Разрешаем полигоны.
            gMapControl1.PolygonsEnabled = true;

            //Разрешаем маршруты.
            gMapControl1.RoutesEnabled = true;

            //Скрываем внешнюю сетку карты
            //с заголовками.
            gMapControl1.ShowTileGridLines = false;

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

            //Указываем, что все края элемента управления
            //закрепляются у краев содержащего его элемента
            //управления(главной формы), а их размеры изменяются
            //соответствующим образом.
            gMapControl1.Dock = DockStyle.Fill;

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

            //Если вы используете интернет через прокси сервер,
            //указываем свои учетные данные.
            GMap.NET.MapProviders.GMapProvider.WebProxy =
                System.Net.WebRequest.GetSystemWebProxy();
            GMap.NET.MapProviders.GMapProvider.WebProxy.Credentials =
                System.Net.CredentialCache.DefaultCredentials;

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

            //Создаем новый список маркеров, с указанием компонента
            //в котором они будут использоваться и названием списка.
            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(55.75393, 37.620795));
            markerG.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(markerG);
            //Текст отображаемый при наведении на маркер.
            markerG.ToolTipText = "Красная площадь";

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

            //Добавляем маркеры в список маркеров.
            //Зеленый маркер
            markersOverlay.Markers.Add(markerG);
            //Красный маркет
            markersOverlay.Markers.Add(markerR);
            //Добавляем в компонент, список маркеров.
            gMapControl1.Overlays.Add(markersOverlay);
        }
Beispiel #8
0
        private void button1_Click(object sender, EventArgs e)
        {
            //Запрос к API геокодирования Google.
            string url = string.Format(
                "http://maps.googleapis.com/maps/api/geocode/xml?address={0}&sensor=true_or_false&language=ru",
                Uri.EscapeDataString(textBox1.Text));

            //Выполняем запрос к универсальному коду ресурса (URI).
            System.Net.HttpWebRequest request =
                (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
            //Получаем ответ от интернет-ресурса.
            System.Net.WebResponse response =
                request.GetResponse();
            //Экземпляр класса System.IO.Stream
            //для чтения данных из интернет-ресурса.
            System.IO.Stream dataStream =
                response.GetResponseStream();
            //Инициализируем новый экземпляр класса
            //System.IO.StreamReader для указанного потока.
            System.IO.StreamReader sreader =
                new System.IO.StreamReader(dataStream);
            //Считывает поток от текущего положения до конца.
            string responsereader = sreader.ReadToEnd();

            //Закрываем поток ответа.
            response.Close();
            System.Xml.XmlDocument xmldoc =
                new System.Xml.XmlDocument();
            xmldoc.LoadXml(responsereader);
            if (xmldoc.GetElementsByTagName("status")[0].ChildNodes[0].InnerText == "OK")
            {
                //Получение широты и долготы.
                System.Xml.XmlNodeList nodes =
                    xmldoc.SelectNodes("//location");
                //Переменны широты и долготы.
                double latitude  = 0.0;
                double longitude = 0.0;
                //Получаем широту и долготу.
                foreach (System.Xml.XmlNode node in nodes)
                {
                    latitude  = System.Xml.XmlConvert.ToDouble(node.SelectSingleNode("lat").InnerText.ToString());
                    longitude = System.Xml.XmlConvert.ToDouble(node.SelectSingleNode("lng").InnerText.ToString());
                }
                string formattedAddress = xmldoc.SelectNodes("//formatted_address").Item(0).InnerText.ToString();
                //Массив, элементы которого содержат подстроки данного экземпляра, разделенные
                //одним или более знаками из separator. Дополнительные сведения см. в разделе
                //"Примечания".
                string[] words      = formattedAddress.Split(',');
                string   dataMarker = string.Empty;
                foreach (string word in words)
                {
                    dataMarker += word + Environment.NewLine;
                }
                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(latitude, longitude));
                markerG.ToolTip =
                    new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(markerG);
                shir = Convert.ToString(latitude);
                dolg = Convert.ToString(longitude);
                //Указываем, что подсказку маркера, необходимо отображать всегда.
                markerG.ToolTipMode = GMap.NET.WindowsForms.MarkerTooltipMode.Always;
                //Текст подсказки маркера.
                //Для Варианта 1,2.
                markerG.ToolTipText = dataMarker;
                markersOverlay.Markers.Add(markerG);
                //Очищаем список маркеров.
                gMapControl1.Overlays.Clear();
                //Добавляем в компонент, список маркеров.
                gMapControl1.Overlays.Add(markersOverlay);
                //Устанавливаем позицию карты.
                gMapControl1.Position = new GMap.NET.PointLatLng(latitude, longitude);
                //Указываем, что при загрузке карты будет использоваться
                //17ти кратное приближение.
                gMapControl1.Zoom = 17;
                //Обновляем карту.
                gMapControl1.Refresh();
            }
        }
Beispiel #9
0
        private void gMapControl1_MouseClick(object sender, MouseEventArgs e)
        {
            //Переменные для хранения
            //координат устанавливаемого маркера.
            double lat = 0.0;
            double lng = 0.0;

            //Проверяем, что нажата правая клавиша мыши.
            if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
                //Получаем координаты, где устанавливается новый маркер.
                lat  = gMapControl1.FromLocalToLatLng(e.X, e.Y).Lat;
                lng  = gMapControl1.FromLocalToLatLng(e.X, e.Y).Lng;
                shir = Convert.ToString(lat);
                dolg = Convert.ToString(lng);
                //MessageBox.Show(shir + " " + dolg);
                //Запрос к API геокодирования Google.
                string url = string.Format(
                    "http://maps.google.com/maps/api/geocode/xml?latlng={0},{1}&sensor=true_or_false&language=ru",
                    lat.ToString().Replace(",", "."), lng.ToString().Replace(",", "."));
                //Выполняем запрос к универсальному коду ресурса (URI).
                System.Net.HttpWebRequest request =
                    (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
                //Получаем ответ от интернет-ресурса.
                System.Net.WebResponse response =
                    request.GetResponse();
                //Экземпляр класса System.IO.Stream
                //для чтения данных из интернет-ресурса.
                System.IO.Stream dataStream =
                    response.GetResponseStream();
                //Инициализируем новый экземпляр класса
                //System.IO.StreamReader для указанного потока.
                System.IO.StreamReader sreader =
                    new System.IO.StreamReader(dataStream);
                //Считывает поток от текущего положения до конца.
                string responsereader = sreader.ReadToEnd();
                //Закрываем поток ответа.
                response.Close();
                //Инициализируем новый документ Xml.
                System.Xml.XmlDocument xmldoc =
                    new System.Xml.XmlDocument();
                xmldoc.LoadXml(responsereader);
                if (xmldoc.GetElementsByTagName("status")[0].ChildNodes[0].InnerText == "OK")
                {
                    //Получение информации о найденном объекте.
                    //Берем первый возвращаемый адрес.
                    string formatted_address =
                        xmldoc.SelectNodes("//formatted_address").Item(0).InnerText.ToString();
                    //Получаем массив, элементы которого содержат подстроки
                    //данного экземпляра, разделенные
                    //одним или более знаками из separator.
                    string[] words      = formatted_address.Split(',');
                    string   dataMarker = string.Empty;
                    //Получаем строку с переходами.
                    foreach (string word in words)
                    {
                        dataMarker += word + " " + Environment.NewLine;
                    }
                    //Создаем новый список маркеров, с указанием компонента
                    //в котором они будут использоваться и названием списка.
                    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(lat, lng));
                    markerG.ToolTip =
                        new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(markerG);
                    //Указываем, что подсказку маркера, необходимо отображать всегда.
                    markerG.ToolTipMode         = GMap.NET.WindowsForms.MarkerTooltipMode.Always;
                    gMapControl1.OnMarkerClick += MarkerClick;
                    //Текст подсказки маркера.
                    markerG.ToolTipText = dataMarker;
                    //Добавляем маркеры в список маркеров.
                    markersOverlay.Markers.Add(markerG);
                    //Очищаем список маркеров компонента.
                    gMapControl1.Overlays.Clear();
                    //Добавляем в компонент, список маркеров.
                    gMapControl1.Overlays.Add(markersOverlay);
                    //Устанавливаем позицию карты.
                    gMapControl1.Position = new GMap.NET.PointLatLng(lat, lng);
                    //Указываем, что при загрузке карты будет использоваться
                    //16ти кратное приближение.
                    gMapControl1.Zoom = 17;
                    //Обновляем карту.
                    gMapControl1.Refresh();
                }
            }
        }
Beispiel #10
0
        private void Form1_Load(object sender, EventArgs e)
        {
            //Настройки для компонента GMap.
            gMapControl1.Bearing = 0;

            //CanDragMap - Если параметр установлен в True,
            //пользователь может перетаскивать карту
            ///с помощью правой кнопки мыши.
            gMapControl1.CanDragMap = true;

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

            gMapControl1.GrayScaleMode = true;

            //MarkersEnabled - Если параметр установлен в True,
            //любые маркеры, заданные вручную будет показаны.
            //Если нет, они не появятся.
            gMapControl1.MarkersEnabled = true;

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

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

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

            //Отказываемся от негативного режима.
            gMapControl1.NegativeMode = false;

            //Разрешаем полигоны.
            gMapControl1.PolygonsEnabled = true;

            //Разрешаем маршруты
            gMapControl1.RoutesEnabled = true;

            //Скрываем внешнюю сетку карты
            //с заголовками.
            gMapControl1.ShowTileGridLines = false;

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

            //Указываем что все края элемента управления
            //закрепляются у краев содержащего его элемента
            //управления(главной формы), а их размеры изменяются
            //соответствующим образом.
            //gMapControl1.Dock = DockStyle.Fill;

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

            //Если вы используете интернет через прокси сервер,
            //указываем свои учетные данные.
            GMap.NET.MapProviders.GMapProvider.WebProxy =
                System.Net.WebRequest.GetSystemWebProxy();
            GMap.NET.MapProviders.GMapProvider.WebProxy.Credentials =
                System.Net.CredentialCache.DefaultCredentials;

            //Создаем новый список маркеров, с указанием компонента
            //в котором они будут использоваться и названием списка
            GMap.NET.WindowsForms.GMapOverlay markersOverlay =
                new GMap.NET.WindowsForms.GMapOverlay(gMapControl1, "marker");

            //Инициализация нового ЗЕЛЕНОГО маркера, с указанием его координат
            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker1 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(56.484640, 84.947649));
            marker1.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker1);
            //Текст отображаемый при наведении на маркер
            marker1.ToolTipText = "Томск";

            //Инициализация нового маркера, с указанием его координат
            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker2 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(56.603185, 84.880913));
            marker2.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker2);
            //Текст отображаемый при наведении на маркер
            marker2.ToolTipText = "Северск";

            //Инициализация нового маркера, с указанием его координат
            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker3 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(55.354727, 86.088374));
            marker3.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker3);
            //Текст отображаемый при наведении на маркер
            marker3.ToolTipText = "Кемерово";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker4 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(53.720976, 91.44242300000001));
            marker4.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker4);
            //Текст отображаемый при наведении на маркер
            marker4.ToolTipText = "Абакан";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker5 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(64.539304, 40.518735));
            marker5.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker5);
            //Текст отображаемый при наведении на маркер
            marker5.ToolTipText = "Архангельск";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker6 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(51.128422, 71.430564));
            marker6.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker6);
            //Текст отображаемый при наведении на маркер
            marker6.ToolTipText = "Астана";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker7 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(46.347869, 48.033574));
            marker7.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker7);
            //Текст отображаемый при наведении на маркер
            marker7.ToolTipText = "Астрахань";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker8 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(53.356132, 83.74961999999999));
            marker8.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker8);
            //Текст отображаемый при наведении на маркер
            marker8.ToolTipText = "Барнаул";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker9 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(50.597467, 36.588849));
            marker9.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker9);
            //Текст отображаемый при наведении на маркер
            marker9.ToolTipText = "Белгород";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker10 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(52.541444, 85.219686));
            marker10.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker10);
            //Текст отображаемый при наведении на маркер
            marker10.ToolTipText = "Бийск";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker11 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(42.871027, 74.59452));
            marker11.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker11);
            //Текст отображаемый при наведении на маркер
            marker11.ToolTipText = "Бишкек";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker12 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(50.290658, 127.527173));
            marker12.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker12);
            //Текст отображаемый при наведении на маркер
            marker12.ToolTipText = "Благовещенск";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker13 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(56.151382, 101.634152));
            marker13.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker13);
            //Текст отображаемый при наведении на маркер
            marker13.ToolTipText = "Братск";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker14 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(53.2434, 34.364198));
            marker14.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker14);
            //Текст отображаемый при наведении на маркер
            marker14.ToolTipText = "Брянск";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker15 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(58.521475, 31.275475));
            marker15.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker15);
            //Текст отображаемый при наведении на маркер
            marker15.ToolTipText = "Великий Новгород";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker16 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(43.134019, 131.928379));
            marker16.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker16);
            //Текст отображаемый при наведении на маркер
            marker16.ToolTipText = "Владивосток";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker17 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(43.024122, 44.690476));
            marker17.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker17);
            //Текст отображаемый при наведении на маркер
            marker17.ToolTipText = "Владикавказ";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker18 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(56.129042, 40.40703));
            marker18.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker18);
            //Текст отображаемый при наведении на маркер
            marker18.ToolTipText = "Владимир";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker19 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(48.707103, 44.516939));
            marker19.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker19);
            //Текст отображаемый при наведении на маркер
            marker19.ToolTipText = "Волгоград";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker20 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(59.220492, 39.891568));
            marker20.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker20);
            //Текст отображаемый при наведении на маркер
            marker20.ToolTipText = "Вологда";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker21 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(51.661535, 39.200287));
            marker21.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker21);
            //Текст отображаемый при наведении на маркер
            marker21.ToolTipText = "Воронеж";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker22 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(43.317992, 45.698197));
            marker22.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker22);
            //Текст отображаемый при наведении на маркер
            marker22.ToolTipText = "Грозный";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker23 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(48.015877, 37.80285));
            marker23.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker23);
            //Текст отображаемый при наведении на маркер
            marker23.ToolTipText = "Донецк";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker24 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(56.838002, 60.597295));
            marker24.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker24);
            //Текст отображаемый при наведении на маркер
            marker24.ToolTipText = "Екатеринбург";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker25 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(57.000348, 40.973921));
            marker25.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker25);
            //Текст отображаемый при наведении на маркер
            marker25.ToolTipText = "Иваново";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker26 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(56.852775, 53.211463));
            marker26.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker26);
            //Текст отображаемый при наведении на маркер
            marker26.ToolTipText = "Ижевск";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker27 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(52.286387, 104.28066));
            marker27.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker27);
            //Текст отображаемый при наведении на маркер
            marker27.ToolTipText = "Иркутск";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker28 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(55.795793, 49.106585));
            marker28.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker28);
            //Текст отображаемый при наведении на маркер
            marker28.ToolTipText = "Казань";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker29 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(55.916229, 37.854467));
            marker29.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker29);
            //Текст отображаемый при наведении на маркер
            marker29.ToolTipText = "Калининград";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker30 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(54.507014, 36.252277));
            marker30.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker30);
            //Текст отображаемый при наведении на маркер
            marker30.ToolTipText = "Калуга";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker31 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(56.414897, 61.918905));
            marker31.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker31);
            //Текст отображаемый при наведении на маркер
            marker31.ToolTipText = "Каменск-Уральский";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker32 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(50.402395, 30.532690));
            marker32.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker32);
            //Текст отображаемый при наведении на маркер
            marker32.ToolTipText = "Киев";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker33 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(54.079033, 34.323163));
            marker33.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker33);
            //Текст отображаемый при наведении на маркер
            marker33.ToolTipText = "Киров";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker34 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(50.54986, 137.007867));
            marker34.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker34);
            //Текст отображаемый при наведении на маркер
            marker34.ToolTipText = "Комсомольск-на-Амуре";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker35 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(55.916229, 37.854467));
            marker35.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker35);
            //Текст отображаемый при наведении на маркер
            marker35.ToolTipText = "Королев";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker36 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(57.767683, 40.926418));
            marker36.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker36);
            //Текст отображаемый при наведении на маркер
            marker36.ToolTipText = "Кострома";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker37 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(45.023877, 38.970157));
            marker37.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker37);
            //Текст отображаемый при наведении на маркер
            marker37.ToolTipText = "Краснодар";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker38 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(56.008691, 92.870529));
            marker38.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker38);
            //Текст отображаемый при наведении на маркер
            marker38.ToolTipText = "Красноярск";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker39 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(51.730361, 36.192647));
            marker39.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker39);
            //Текст отображаемый при наведении на маркер
            marker39.ToolTipText = "Курск";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker40 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(52.61022, 39.594719));
            marker40.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker40);
            //Текст отображаемый при наведении на маркер
            marker40.ToolTipText = "Липецк";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker41 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(53.411677, 58.984415));
            marker41.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker41);
            //Текст отображаемый при наведении на маркер
            marker41.ToolTipText = "Магнитогорск";

            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker42 =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                    new GMap.NET.PointLatLng(42.984913, 47.504646));
            marker42.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker42);
            //Текст отображаемый при наведении на маркер
            marker42.ToolTipText = "Махачкала";

            //Добавляем маркеры в список маркеров
            markersOverlay.Markers.Add(marker1);
            markersOverlay.Markers.Add(marker2);
            markersOverlay.Markers.Add(marker3);
            markersOverlay.Markers.Add(marker4);
            markersOverlay.Markers.Add(marker5);
            markersOverlay.Markers.Add(marker6);
            markersOverlay.Markers.Add(marker7);
            markersOverlay.Markers.Add(marker8);
            markersOverlay.Markers.Add(marker9);
            markersOverlay.Markers.Add(marker10);
            markersOverlay.Markers.Add(marker11);
            markersOverlay.Markers.Add(marker12);
            markersOverlay.Markers.Add(marker13);
            markersOverlay.Markers.Add(marker14);
            markersOverlay.Markers.Add(marker15);
            markersOverlay.Markers.Add(marker16);
            markersOverlay.Markers.Add(marker17);
            markersOverlay.Markers.Add(marker18);
            markersOverlay.Markers.Add(marker19);
            markersOverlay.Markers.Add(marker20);
            markersOverlay.Markers.Add(marker21);
            markersOverlay.Markers.Add(marker22);
            markersOverlay.Markers.Add(marker23);
            markersOverlay.Markers.Add(marker24);
            markersOverlay.Markers.Add(marker25);
            markersOverlay.Markers.Add(marker26);
            markersOverlay.Markers.Add(marker27);
            markersOverlay.Markers.Add(marker28);
            markersOverlay.Markers.Add(marker29);
            markersOverlay.Markers.Add(marker30);
            markersOverlay.Markers.Add(marker31);
            markersOverlay.Markers.Add(marker32);
            markersOverlay.Markers.Add(marker33);
            markersOverlay.Markers.Add(marker34);
            markersOverlay.Markers.Add(marker35);
            markersOverlay.Markers.Add(marker36);
            markersOverlay.Markers.Add(marker37);
            markersOverlay.Markers.Add(marker38);
            markersOverlay.Markers.Add(marker39);
            markersOverlay.Markers.Add(marker40);
            markersOverlay.Markers.Add(marker41);
            markersOverlay.Markers.Add(marker42);

            //Добавляем в компонент, список маркеров
            gMapControl1.Overlays.Add(markersOverlay);
        }
Beispiel #11
0
        private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            int deviceId = Convert.ToInt32(checkedListBox1.Items[e.Index]);

            if (e.NewValue == CheckState.Unchecked)
            {
                foreach (GMapMarker item in markersOverlay.Markers)
                {
                    if (Convert.ToInt32(item.Tag) == deviceId)
                    {
                        markersOverlay.Markers.Remove(item);
                        break;
                    }
                }

                RemoveDataPerDevice(deviceId);
                //pictureBox1.ImageLocation = parserXml.DeviceImage;
                //pictureBox1.Update();
            }
            if (e.NewValue == CheckState.Checked)
            {
                RequestDeviceData(deviceId, false);
                List <Measurement> last = RequestDeviceData(deviceId, true);
                //String filepath = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + @"\Images\smile.png";
                //CustomMarker marker = new CustomMarker(new PointLatLng(34.6961334816182, 25.2985095977783), new Bitmap(filepath));
                //marker.Size = new Size(11, 11);
                System.Globalization.NumberFormatInfo nmf = new System.Globalization.NumberFormatInfo();
                nmf.NumberDecimalSeparator = ".";
                if (last.Count > 0)
                {
                    if (Convert.ToDouble(last[0].temprature) > 25.0)
                    {
                        //GMapMarker marker = new GMap.NET.WindowsForms.Markers.GMapMarker(new PointLatLng(Convert.ToDouble(last[0].latitude, nmf), Convert.ToDouble(last[0].longitude, nmf)));


                        GMapMarker marker = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed(new PointLatLng(Convert.ToDouble(last[0].latitude, nmf), Convert.ToDouble(last[0].longitude, nmf)));
                        marker.Tag = deviceId;
                        markersOverlay.Markers.Add(marker);
                    }
                    else
                    {
                        GMapMarker marker = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(new PointLatLng(Convert.ToDouble(last[0].latitude, nmf), Convert.ToDouble(last[0].longitude, nmf)));
                        marker.Tag = deviceId;
                        markersOverlay.Markers.Add(marker);
                    }
                }
                pictureBox1.ImageLocation = String.Format("http://chemigallego.es:2013/SmartCity/GetImage.aspx?device={0}", deviceId);
                pictureBox1.SizeMode      = PictureBoxSizeMode.StretchImage;
                pictureBox1.Update();
            }

            foreach (GMapMarker item in markersOverlay.Markers)
            {
                gMapControl1.UpdateMarkerLocalPosition(item);
            }

            gMapControl1.ZoomAndCenterMarkers("markers");

            dataGridView1.DataSource = null;
            dataGridView1.DataSource = Data;
            dataGridView1.Refresh();        // Make sure this comes first
            dataGridView1.Parent.Refresh(); // Make sure this comes second
        }
        private void gMapControl1_Load(object sender, EventArgs e)
        {
            //Настройки для компонента GMap.
            gMapControl1.Bearing = 0;

            //CanDragMap - Если параметр установлен в True,
            //пользователь может перетаскивать карту
            ///с помощью правой кнопки мыши.
            gMapControl1.CanDragMap = true;

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

            gMapControl1.GrayScaleMode = true;

            //MarkersEnabled - Если параметр установлен в True,
            //любые маркеры, заданные вручную будет показаны.
            //Если нет, они не появятся.
            gMapControl1.MarkersEnabled = true;

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

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

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

            //Отказываемся от негативного режима.
            gMapControl1.NegativeMode = false;

            //Разрешаем полигоны.
            gMapControl1.PolygonsEnabled = true;

            //Разрешаем маршруты
            gMapControl1.RoutesEnabled = true;

            //Скрываем внешнюю сетку карты
            //с заголовками.
            gMapControl1.ShowTileGridLines = false;

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

            //Указываем что все края элемента управления
            //закрепляются у краев содержащего его элемента
            //управления(главной формы), а их размеры изменяются
            //соответствующим образом.
            gMapControl1.Dock = DockStyle.Fill;

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

            //Если вы используете интернет через прокси сервер,
            //указываем свои учетные данные.
            GMap.NET.MapProviders.GMapProvider.WebProxy =
                System.Net.WebRequest.GetSystemWebProxy();
            GMap.NET.MapProviders.GMapProvider.WebProxy.Credentials =
                System.Net.CredentialCache.DefaultCredentials;
            // Создаем новый список маркеров, с указанием компонента
            //в котором они будут использоваться и названием списка
            GMap.NET.WindowsForms.GMapOverlay markersOverlay =
                new GMap.NET.WindowsForms.GMapOverlay(gMapControl1, "marker");
            int scetchik = 1;

            for (int i = 0; i < genetic.fmap.Length; i++)
            {
                GeoPoint an = new GeoPoint();
                an = MarkerF.Coord(C.g[genetic.fmap[i]]);
                {
                    //Инициализация нового ЗЕЛЕНОГО маркера, с указанием его координат
                    GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker =
                        new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
                            new GMap.NET.PointLatLng(an.Lat, an.Long));
                    marker.ToolTip =
                        new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker);
                    //Текст отображаемый при наведении на маркер
                    marker.ToolTipText = scetchik.ToString();
                    //Добавляем маркер в список маркеров
                    markersOverlay.Markers.Add(marker);
                    //Добавляем в компонент, список маркеров
                    gMapControl1.Overlays.Add(markersOverlay);
                }
                scetchik++;
            }
            GeoPoint startmarker = new GeoPoint();

            startmarker = MarkerF.Coord(C.start);
            GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed markerR =
                new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed(
                    new GMap.NET.PointLatLng(startmarker.Lat, startmarker.Long));
            markerR.ToolTip =
                new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(markerR);
            //Текст отображаемый при наведении на маркер
            markerR.ToolTipText = "Start";
            //Добавляем маркер в список маркеров
            markersOverlay.Markers.Add(markerR);
            //Добавляем в компонент, список маркеров
            gMapControl1.Overlays.Add(markersOverlay);
        }