Skip to main content
 首页 » 编程设计

c#之使用 GMap.net 在 map 上绘制折线

2024年01月31日29del

是的,我不是第一个提问的人,但我没有找到答案(也许是因为我的英语不好)。如何在 map 上绘制折线?不是路线(方向),而只是折线,就像在 JS Google Maps API 中具有函数 Polyline 一样。看不懂。

还是谢谢你

请您参考如下方法:

虽然有点矫枉过正,但您可以使用 GMap 路线功能来绘制简单的线条。这还有一个主要优点,即它可以让您在必要时确定该线的长度(以公里为单位)。以下是绘制单线的方法:

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