2017-02-03 35 views
-2

我在编写C#时遇到了一些问题,数据来自dataGridView从datagridView输入数据到gMapControl

我在dataGridView上有一些数据表,我需要使用GMap.Net将这些信息放入gMapControl,以在地图上创建多个标记。

这里是我的代码:

private void gMapControl1_Load(object sender, EventArgs e) 
{ 
    GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly; 
    GMap.NET.WindowsForms.GMapOverlay markersOverlay = new GMap.NET.WindowsForms.GMapOverlay(gMapControl1, "marker"); 
    GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen marker = 
     new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(
     new GMap.NET.PointLatLng(MyVar.lat, MyVar.lon)); 

    gMapControl1.Position = new GMap.NET.PointLatLng(MyVar.lat, MyVar.lon); 

    marker.ToolTip = new GMap.NET.WindowsForms.ToolTips.GMapRoundedToolTip(marker); 
    marker.ToolTipText = "Home"; 
    markersOverlay.Markers.Add(marker); 
    gMapControl1.Overlays.Add(markersOverlay); 
} 
+0

在DataGridView中我有坐标列表。我试图用GMap在地图上创建几个标记。 – Vitaliy

+0

您是否尝试过从datagridview中获取值的任何内容? –

+0

在Form1上使用private void gMapControl1_Load我可以创建一个“for”的圆圈,用于向markersOverlay添加标记。但我需要使用另一个Form2的datagridview中的坐标。 – Vitaliy

回答

0

这是伪代码,这应该让你去

var dgv = new DataGridView(); 
var str = dgv.Rows[0].Cells["Column Name here"]; //column name 
var ord = dgv.Rows[0].Cells[0]; //column ordnal 

var changeableValue = string.Empty; 
foreach (DataGridViewRow row in dgv.Rows) 
{ 
    changeableValue = row.Cells[0].ToString(); // ordinal position again 
} 
+0

谢谢。我会尝试。 – Vitaliy