Draw a polyline on the map using GMap.net

爱⌒轻易说出口 提交于 2021-02-04 05:19:32

问题


Yep, I am not the first who is asking, but I didn't found an answer (maybe, because my english is bad). How to draw a polyline on a map? Not a route (direction), but just a polyline, like in JS Google Maps API with function Polyline. I can not understand.

Thanks anyway.


回答1:


Have a good read of this tutorial:

http://www.independent-software.com/gmap-net-tutorial-maps-markers-and-polygons/

This should get you started:

GMapOverlay polyOverlay = new GMapOverlay("polygons");
IList<PointLatLng> points = new List<PointLatLng>();
points.Add(new PointLatLng(-25.969562,32.585789));
points.Add(new PointLatLng(-25.966205,32.588171));
GMapPolygon polygon = new GMapPolygon(points, "mypolygon");
polygon.Fill = new SolidBrush(Color.FromArgb(50, Color.Red));
polygon.Stroke = new Pen(Color.Red, 1);
polyOverlay.Polygons.Add(polygon);
gmap.Overlays.Add(polyOverlay);



回答2:


Although slightly overkill, you can use the GMap routes capability to draw simple lines. This also has a major advantage that it lets you determine the length of that line (in km) if necessary. Here's how you would draw a single line:

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_);


来源:https://stackoverflow.com/questions/37919001/draw-a-polyline-on-the-map-using-gmap-net

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!