2015-07-29 3 views
5

Я работаю над программой с C#, и я хочу рассчитать маршрут, но он возвращает null.Маршрут GMap.NET возвращает null

Это мой код;

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; 

Я не знаю, где я совершаю ошибки. Любая помощь будет оценена по достоинству.

+0

Вы пробовали переходящие в струнах адресов? – nozzleman

+0

@nozzleman вы можете дать мне пример, пожалуйста? –

+0

попробуйте это :: if (route == null) { Список lstPoints = new List {start, end}; route = new MapRoute (lstPoints); – sakir

ответ

3

Проблема решена .. Причина, почему маршрут возвращает нуль, потому что служба маршрутизации была удалена с помощью Google.

+0

Это код исправления проезда 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"); 

Попробуйте это ...

+0

Я пытался получить расстояние от маршрута, мне не нужны направления, но спасибо за предложение –

+0

Мне удалось получить расстояние следующим образом: r.Distance –

+0

@Vinicious Этот код работает для вас? На форумах с кодовым словом они сказали мне, что Google удалил службу маршрутизации. [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; 

// использовать BingMapProvider

Смежные вопросы