2015-07-29 19 views
5

Tôi đang làm việc trên một chương trình có C# và tôi muốn tính toán tuyến đường, nhưng nó trả về giá trị rỗng.Tuyến GMap.NET đang trả về giá trị rỗng

Đây là mã của tôi;

PointLatLng start = new PointLatLng(38.481858, 27.089006); 
PointLatLng end = new PointLatLng(38.468447, 27.113793); 

MapRoute route = GMap.NET.MapProviders.GoogleMapProvider 
             .Instance.GetRoute(start, end, false, false, 15); 
GMapRoute r = new GMapRoute(route.Points , "My route"); 
GMapOverlay routeOverlay = new GMapOverlay("route"); 
routeOverlay.Routes.Add(r); 
gMap.Overlays.Add(routeOverlay); 
double distance; 
distance = route.Distance; 

r.Stroke.Width = 2; 
r.Stroke.Color = Color.OrangeRed; 

Tôi không biết mình đang phạm sai lầm ở đâu. Bất kỳ loại trợ giúp nào cũng sẽ được đánh giá cao.

+0

Các bạn đã thử đi qua trong chuỗi adresses? – nozzleman

+0

@nozzleman bạn có thể cho tôi một ví dụ được không? –

+0

thử cách này :: if (route == null) { Danh sách lstPoints = new List {start, end}; route = new MapRoute (lstPoints); – sakir

Trả lời

3

Vấn đề được giải quyết .. Lý do tại sao con đường trả về null là vì dịch vụ định tuyến được được loại bỏ bằng cách google.

+0

Đây là mã sửa chỉ đường http://greatmaps.codeplex.com/workitem/ 16123 – Ggalla1779

4
GDirections ss; 
var xx = GMapProviders.GoogleMap.GetDirections(out ss, start, end, false, false, false, false, false); 
GMapRoute r = new GMapRoute(ss.Route, "My route"); 

Hãy thử này ...

+0

Tôi đã cố gắng lấy khoảng cách từ tuyến đường, tôi không cần chỉ đường nhưng cảm ơn gợi ý –

+0

Tôi quản lý để có được khoảng cách như sau: r.Distance –

+0

@Vinicious Mã này có phù hợp với bạn không? Trên diễn đàn codeplex họ đã nói với tôi rằng google đã xóa dịch vụ định tuyến. [link] (http://greatmaps.codeplex.com/discussions/642101) –

0
 PointLatLng startp = new PointLatLng(-25.974134, 32.593042); 
     PointLatLng endp = new PointLatLng(-25.959048, 32.592827); 
     MapRoute route = BingMapProvider.Instance.GetRoute(startp, endp, false, false, 15); 
     GMapRoute r = new GMapRoute(route.Points,"Myroutes"); 
     GMapOverlay routesOverlay = new GMapOverlay("Myroutes"); 
     routesOverlay.Routes.Add(r); 
     gmap.Overlays.Add(routesOverlay); 
     r.Stroke.Width = 2; 
     r.Stroke.Color = Color.SeaGreen; 

// sử dụng BingMapProvider

Các vấn đề liên quan