В настоящее время я работаю над приложением Windows Forms, которое извлекает список PointLatLng с сервера и отображает их на карте.
Вот что мне удалось сделать до сих пор (Рисование линий между всеми точками):
private void DrawRoute()
{
List<PointLatLng> inter = new List<PointLatLng>();
//---
GMap.NET.WindowsForms.GMapOverlay markers = new GMap.NET.WindowsForms.GMapOverlay("markers");
//--- Creating the "Start" marker below
GMap.NET.WindowsForms.GMapMarker marker_start = new GMap.NET.WindowsForms.Markers.GMarkerGoogle(
new GMap.NET.PointLatLng(points[0].Lat, points[0].Lng),
GMap.NET.WindowsForms.Markers.GMarkerGoogleType.arrow);
marker_start.ToolTipText = "Start";
//--- Center the map on the Start marker
_Map.Position = new PointLatLng(points[0].Lat,points[0].Lng);
_Map.MinZoom = 5;
_Map.MaxZoom = 100;
_Map.Zoom = 14;
//---
GMap.NET.WindowsForms.GMapOverlay polyOverlay = new GMap.NET.WindowsForms.GMapOverlay("polygons");
for (int i=0; i<points.Count -2; i++)
{
anterior = false;
//--- Adding a GmapPolygon with only 2 points (Drawing a line on the map)
inter.Add(points[i]);
inter.Add(points[i + 1]);
GMap.NET.WindowsForms.GMapPolygon polygon = new GMap.NET.WindowsForms.GMapPolygon(inter, "mypolygon");
polygon.Fill = new SolidBrush(Color.FromArgb(50, Color.Red));
polygon.Stroke = new Pen(Color.Red, 5);
polyOverlay.Polygons.Add(polygon);
_Map.Overlays.Add(polyOverlay);
inter.Remove(inter[1]);
inter.Remove(inter[0]);
}
//-- Creating the "Finish" marker
GMap.NET.WindowsForms.GMapMarker marker_finish = new GMap.NET.WindowsForms.Markers.GMarkerGoogle(
new GMap.NET.PointLatLng(p_anterior.Lat , p_anterior.Lng),
GMap.NET.WindowsForms.Markers.GMarkerGoogleType.arrow);
marker_finish.ToolTipText = "Finish";
//--- Adding the "Start" and the "Finish" marker on map
markers.Markers.Add(marker_start);
markers.Markers.Add(marker_finish);
}
Есть ли возможность для меня создать маршрут из этого списка точек с помощью библиотеки gmap