2016-06-20 38 views
1

私は最初に尋ねているわけではありませんが、私の答えは見つからなかった(多分私の英語は悪いので)。マップ上にポリラインを描く方法は?経路(方向)ではなく、ポリラインだけのJS Google Maps APIのようなポリラインです。私は理解できない。GMap.netを使用して地図上にポリラインを描く

ありがとうございます。

答えて

1

は、このチュートリアルの良い読み物を持っている:

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

これは、あなたが始める必要があります。

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); 
+0

私はポリラインを必要とする、どちらのマーカーもポリゴン –

+0

@ValerikPunkはわずか2ではなく4が含まれるようにポイントを変更しますか? – fuzz

+0

Hmですが、ポリライン自体には特別な機能がありますか? –

1

少しやり過ぎていますが、シンプルなラインを描くためにGMapのルート機能を使用することができます。これには、必要に応じて、その行の長さ(km単位)を決定できるという大きな利点もあります。ここでは、単一のラインを引く方法は次のとおりです。

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_); 
関連する問題