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; } } }
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()); } }
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); //Добавляем коллекцию в очередь на вывод на карту. }
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) { } }
// 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); }
// 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) { } } }
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); //Добавляем коллекцию в очередь на вывод на карту. }
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); }
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); }
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); }
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); }
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); }
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); } }
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); } }
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; } }
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); } }
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) { } }
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; } }
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); }