Bing Maps GetRoute给出’0x8004231C’错误

我试图在bing-maps上显示从点到点的路线(在真实设备上进行测试)。 我输入了2个航路点(GeoCoordinate),我正在尝试使用await query.GetRouteAsync()通过Windows PhoneToolKit获取路由。 不幸的是,我收到了一个未知的错误:

异步调用的结果:

 'e.Result' threw an exception of type 'System.Reflection.TargetInvocationException' 

内在的例外:

 Exception from HRESULT: 0x8004231C 

我检查了MSDN网站 ,发现错误列表中没有列出此错误代码…

相关代码如下。 我使用了与Windows Phone Toolkit示例集中完全相同的代码,但删除了与获取路径无关的内容:

  private async void BtnShowRoute_Tap(object sender, System.Windows.Input.GestureEventArgs e) { try { RouteQuery query = new RouteQuery(); List wayPoints = new List(); wayPoints.Add(new GeoCoordinate(47.23449, -121.172447)); wayPoints.Add(new GeoCoordinate(47.062638, -120.691795)); query.Waypoints = wayPoints; Route route = await query.GetRouteAsync(); } catch (Exception ex) { MessageBox.Show(ex.Message); throw; } } 

我不知道这里出了什么问题。 还有其他人遇到过这个问题吗? 如果是的话,你解决了吗? 如何?

注意:我正在运行Windows Phone 8.1。 开发预览

当基础服务调用在完成查询之前超时时会发生这种情况。 希望这将在下一版本中修复,但现在您可以使用以下代码:

 private async void BtnShowRoute_Tap(object sender, System.Windows.Input.GestureEventArgs e) { RouteQuery query = new RouteQuery(); List wayPoints = new List(); wayPoints.Add(new GeoCoordinate(47.23449, -121.172447)); wayPoints.Add(new GeoCoordinate(47.062638, -120.691795)); query.Waypoints = wayPoints; query .QueryCompleted += geoQ_QueryCompleted; query.GetRouteAsync(); } private void geoQ_QueryCompleted(object sender, QueryCompletedEventArgs e) { try { Route myRoute = e.Result; } catch (TargetInvocationException) { Thread.Sleep(1000); // waiting for completing the query geoQ_QueryCompleted(sender, e); } }