如何制作从gMap.NET的数据库中提取的几个点(纬度,经度)的路线?

时间:2019-06-03 18:50:21

标签: c# gmap.net

我试图显示MySql数据库表中已有的几个纬度-经度点的路线。我可以使用GMapRoute类和一些手动输入到代码中的点来显示路线,但是我不知道如何自动将所有点从数据库获取到GMapRoute。

应该注意,我已经与数据库连接并从数据库中获取数据并在dataGridView中显示它,但是当我尝试将点保存在两个变量“ LatAndroid”和“ LonAndroid”中并将它们用作GMapRoute的点,它什么也没做。

我在下面留下代码。 我将不胜感激。

此代码有效,它显示了路线,但没有从数据库中获取任何点。

        GMapOverlay routes = new GMapOverlay("routes");
        List<PointLatLng> points = new List<PointLatLng>();
        points.Add(new PointLatLng(21.355609893799, -101.943084716797));
        points.Add(new PointLatLng(21.354679107666, -101.942741394043));
        points.Add(new PointLatLng(21.358629226685, -101.942466735840));
        GMapRoute route = new GMapRoute(points, "A walk in the park");
        route.Stroke = new Pen(Color.Red, 3);
        routes.Routes.Add(route);
        gMapControl1.Overlays.Add(routes);

//此代码无效。它没有显示任何路线

        MySqlConnection cnn = Miconeccion.ObtenerConexion();
        string ConsultLat = "SELECT Latitude FROM androcation ";
        MySqlCommand cmd = new MySqlCommand(ConsultLat, cnn);
        LatAndroid = Convert.ToDouble(cmd.ExecuteScalar());


        MySqlConnection cnn_1 = Miconeccion.ObtenerConexion();
        string ConsultLon = "SELECT Longitude FROM androcation  ";
        MySqlCommand cmd_1 = new MySqlCommand(ConsultLon, cnn_1);
        LonAndroid = Convert.ToDouble(cmd.ExecuteScalar());

        GMapOverlay routes = new GMapOverlay("routes");
        List<PointLatLng> points = new List<PointLatLng>();
        points.Add(new PointLatLng(LatAndroid, LonAndroid));
        points.Add(new PointLatLng(LatAndroid, LonAndroid));
        points.Add(new PointLatLng(LatAndroid, LonAndroid));
        GMapRoute route = new GMapRoute(points, "A walk in the park");
        route.Stroke = new Pen(Color.Red, 3);
        routes.Routes.Add(route);
        gMapControl1.Overlays.Add(routes);

0 个答案:

没有答案