Bien que légèrement surpuissant, vous pouvez utiliser la capacité des routes GMap pour tracer des lignes simples. Cela a aussi un avantage majeur qui vous permet de déterminer la longueur de cette ligne (en km) si nécessaire. Voici comment vous dessiner une seule ligne:
GMapRoute line_layer;
GMapOverlay line_overlay
line_layer = new GMapRoute("single_line");
line_layer.Stroke = new Pen(Brushes.Black, 2); //width and color of line
line_overlay.Routes.Add(line_layer);
gMapControl1.Overlays.Add(line_overlay)
//Once the layer is created, simply add the two points you want
line_layer.Points.Add(new PointLatLng(lat, lon));
line_layer.Points.Add(new PointLatLng(lat2, lon2));
//Note that if you are using the MouseEventArgs you need to use local coordinates and convert them:
line_layer.Points.Add(gMapControl1.FromLocalToLatLng(e.X, e.Y));
//To force the draw, you need to update the route
gMapControl1.UpdateRouteLocalPosition(line_layer);
//you can even add markers at the end of the lines by adding markers to the same layer:
GMapMarker marker_ = new GMarkerCross(p);
line_overlay.Markers.Add(marker_);
je besoin d'un polyligne, ni marqueur, ni polygone –
@ValerikPunk il suffit de modifier les points à inclure deux au lieu de quatre? – fuzz
Hm, mais existe-t-il une fonction spéciale pour la polyligne elle-même, ou pas? –