2010-08-06 4 views
0

Я написал класс Silverlight для использования службы маршрутизации Bing Maps. Я создаю массив объектов Waypoint из lat/long данных, которые я сохранил в базе данных, и отправляю их методу CalculateRoute веб-службы, чтобы получить маршрут назад, но я не могу успешно получить маршрут назад , Ответ всегда содержит ошибку «Ошибка при обработке запроса». Я в тупике. Любые идеи о том, как я могу решить эту проблему или, по крайней мере, получить более полезную ошибку/исключение из службы? Вот метод, который вызывает службу:Bing Maps Route Service CalculateRoute возвращает «Ошибка при обработке запроса».

public void CalculateRoute(Waypoint[] waypoints) 
{ 
request = new RouteRequest(); 
    request.Waypoints = new ObservableCollection<Waypoint>(); 

    for (int idx = 0; idx < waypoints.Length; idx++) 
    { 
    request.Waypoints.Add(waypoints[idx] as Waypoint); 
    } 

    request.ExecutionOptions = new ExecutionOptions(); 
request.ExecutionOptions.SuppressFaults = true; 

request.Options = new RouteOptions(); 
request.Options.Optimization = RouteOptimization.MinimizeTime; 
request.Options.RoutePathType = RoutePathType.Points; 
request.Options.Mode = TravelMode.Walking; 
request.Options.TrafficUsage = TrafficUsage.TrafficBasedRouteAndTime; 

    _map.CredentialsProvider.GetCredentials(
(Credentials credentials) => 
{ 
    request.Credentials = credentials; 
    RouteClient.CalculateRouteAsync(request); 
}); 
} 

Я тогда обратного вызова, которая обрабатывает ответ, но я не смог получить успешный ответ. Я пробовал убедиться, что maxBufferSize и maxReceivedMessageSize установлены правильно и что таймауты установлены правильно, но безрезультатно. Любая помощь приветствуется.

ответ

0

Оказывается, что эта линия:

request.Options.TrafficUsage = TrafficUsage.TrafficBasedRouteAndTime; 

был виновником. Очевидно, если у вас есть этот набор параметров и запрашивается маршрут где-то, у которого нет данных о трафике, он умирает, а не просто игнорирует его.

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