2017-09-01 139 views
1

我在做c#應用程序。我使用谷歌地圖,我想繪製兩種不同顏色的路線。例如:第一個我想成爲紅色,第二個是綠色,但他們都是綠色的。 我想要改變第二種顏色,以便第一種顏色可以使第一種顏色變爲stay the same如何使用C#在谷歌地圖上繪製彩色路線?

這是我的代碼:

 PointLatLng start1 = new PointLatLng(42.252938, 42.680411); 
     PointLatLng end1 = new PointLatLng(42.256321, 42.675658); 
     GDirections dir1; 
     var path1 = GMapProviders.GoogleMap.GetDirections(out dir1, start1, end1, false, false, true, true, true); 
     GMapRoute route1 = new GMapRoute(dir1.Route, "path1"); 
     route1.Stroke.Color = Color.Red; 
     GMapOverlay lay1 = new GMapOverlay("route1"); 
     lay1.Routes.Add(route1); 
     map.Overlays.Add(lay1); 


     PointLatLng start2 = new PointLatLng(42.259188, 42.670733); 
     PointLatLng end2 = new PointLatLng(42.259617, 42.673362); 
     GDirections dir2; 
     var path2 = GMapProviders.GoogleMap.GetDirections(out dir2, start2, end2, false, false, true, true, true); 
     GMapRoute route2 = new GMapRoute(dir2.Route, "path2"); 
     route2.Stroke.Color = Color.Green; 
     GMapOverlay lay2 = new GMapOverlay("route2"); 
     lay2.Routes.Add(route2); 
     map.Overlays.Add(lay2); 

回答

0

而不是試圖以「route.Stroke.Color」設置爲一種顏色,設置「route.Stroke」到一個新的筆(Color.Red)(例如)。

route1.Stroke = new System.Drawing.Pen(Color.Red); 

這應該工作。

注意**(我認爲它必須是一個'new'對象,因爲繪製它的圖形對象需要引用指向它的靜態顏色對象,然後在更改路線時更改了此引用.Stroke.Color再次使他們都畫綠色?!)

+0

謝謝。有用! –