2015-07-10 83 views
2

我正在嘗試導入帶有經度和緯度座標列表的文件。在Visual C#中,並使用GMAP.NET,爲每個座標對放置一個標記。我希望能夠上傳多個文件,並讓用戶能夠爲特定文件選擇標記的顏色。我有一個包含幾個選項的組合框,但是當我嘗試將標記的顏色設置爲文本框中的文本時,它不能「隱式地將類型字符串轉換爲GMarkerGoogleType」。有沒有辦法做出這種轉換?在標記上更改顏色

下面是相關代碼:

private void btn_KMLFile_Click(object sender, EventArgs e) 
    { 
     DialogResult result = openFileDialog4.ShowDialog(); 
     if (result == DialogResult.OK) 
     { 
      string filename = openFileDialog4.FileName; 
      string[] lines = System.IO.File.ReadAllLines(filename); 
      foreach (string line in lines) 
      { 
       GMarkerGoogleType MarkerColor = cbo_MarkerType.Text; //How can I convert this string to a GMarkerGoogleType? 
       string[] Data_Array = line.Split(','); 
       Double londecimal = Convert.ToDouble(Data_Array[0]); 
       Double latdecimal = Convert.ToDouble(Data_Array[1]); 
       var marker3 = new GMarkerGoogle(new PointLatLng(latdecimal, londecimal), MarkerColor); 
       marker3.IsVisible = true; 
       gMapOverlay.Markers.Add(marker3); 

       gmap.Update(); 


      } 
     } 
    } 

編輯:這個問題是不是一個重複的,這個問題可以表述爲:什麼類型是GMarkerGoogleType?

+0

看一看枚舉的在[源代碼]定義(HTTPS://greatmaps.codeplex .com/SourceControl/latest#GMap.NET.WindowsForms/GMap.NET.WindowsForms/Markers/GMarkerGoogle.cs) – rdoubleui

回答

0

GMarkerGoogleTypeenum,所以你基本上是要求轉換從stringGMarkerGoogleType

GMarkerGoogleType MarkerColor = (GMarkerGoogleType)Enum.Parse(typeof(GMarkerGoogleType), cbo_MarkerType.Text, true); 
+0

當我嘗試此操作時出現以下錯誤:必須指定用於解析字符串的有效信息。我該如何糾正?編輯:想通了,它在代碼的另一部分,感謝您的幫助! – manateejoe