winforms 如何在PointLatLng中输入字符串?是否有其他方法可以输入字符串?

osh3o9ms  于 2023-02-09  发布在  其他
关注(0)|答案(1)|浏览(133)

我想输入我的纬度和经度,但它有空间,所以它不会接受输入。
我的数据库中的纬度和经度是用数字万用表格式化的(就像这样41 24.2028,2 10.4418)
我已尝试删除空格,但它将我引导到不同的位置

private void button1_Click(object sender, EventArgs e)
    {
        gMapControl1.DragButton = MouseButtons.Left;
        gMapControl1.MapProvider = GMapProviders.GoogleMap;

        lat = Convert.ToDouble(textBox1.Text);
        longi = Convert.ToDouble(textBox2.Text);
        gMapControl1.Position = new PointLatLng(lat, longi);

        gMapControl1.MinZoom = 5;
        gMapControl1.MaxZoom = 100;

        gMapControl1.Zoom = 15;

        PointLatLng point = new PointLatLng(lat, longi);
        GMapMarker marker = new GMarkerGoogle(point, GMarkerGoogleType.red_small);

        GMapOverlay markers = new GMapOverlay("markers");

        markers.Markers.Add(marker);

        gMapControl1.Overlays.Add(markers);
    }
tnkciper

tnkciper1#

41 24.2028, 2 10.4418在我的理解中是41度和24.2028分,这本身不是一个有效的语法,但是你可以很容易地将度和分分开:

var splitX = "41 24.2028".Split();
var degreeX = double.Parse(splitX[0]);
var minutesX = double.Parse(splitX[1]);

最后,您需要将分钟转换为十进制度:

var resultX = degreeX + minutesX / 60;

最后得到41.40338。

相关问题