2017-02-03 38 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