我试图显示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);