更改标记上的颜色

本文关键字:颜色 | 更新日期: 2023-09-27 18:02:11

我正在尝试导入一个包含经纬度坐标列表的文件。在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是什么类型?

更改标记上的颜色

GMarkerGoogleTypeenum,所以你基本上是要求从stringGMarkerGoogleType的转换:

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