2010-08-06 66 views
0

我已经编写了一个Silverlight类来使用Bing地图路由服务。我从纬度/长度数据创建Waypoint对象数组,我已经存储在数据库中,并将其发送到Web服务的CalculateRoute方法以获取路由,但我无法成功返回路由。响应始终包含错误“处理请求时发生错误”。我很难过。关于如何解决这个问题或者至少从服务中获得更有帮助的错误/异常的任何想法?以下是调用该服务的方法:Bing地图路径服务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; 

是罪魁祸首。显然,如果你已经设置了这个选项并且请求了一个没有流量数据的地方的路由,它就会死亡,而不仅仅是忽略它。

相关问题