2014-02-15 68 views
0

我使用Bing Maps Api來計算兩點之間的路線。 我將Rest Services與RestSharp庫結合使用。 問題是我不知道如何訪問路線結果。Bing Maps Api:Deserialise Json結果

結果屬於Resource類型。資源的路線派生。 Resource類使用KnownType屬性進行裝飾。 僅供參考我使用JSON數據合同msdn

有人可以幫助我嗎?

這裏是我的代碼來計算路線:

public static double CalculateDistanceKm(string street, string postalCode, string city, string country) 
    { 
     var client = new RestClient(BingMapsApiUrl); 
     var request = new RestRequest("Routes/Driving", Method.GET); 
     request.AddParameter("wp.0", Address); 
     request.AddParameter("wp.1", String.Format("{0},{1} {2},{3}", street, postalCode, city, country)); 
     request.AddParameter("ul", "50.7541313,4.2486601"); 
     request.AddParameter("key", BingMapsApiKey); 

     var response = client.Execute(request); 
     if (response.ResponseStatus == ResponseStatus.Completed) 
     { 
      var result = JsonConvert.DeserializeObject<Response>(response.Content); 
      if (result != null && result.StatusCode == 200 & result.ResourceSets.Any() && result.ResourceSets[0].Resources.Any()) 
      { 
       //How to get to the Route instead of just Resource... 
       var test = result.ResourceSets.First().Resources.First(); 
      } 
     } 

     return 0; 
    } 

回答

1

我切換了API從冰到谷歌地圖。 api使用起來更容易,它給了我正確的結果。

隨着我有一個9/10的變化,以獲得「Not_found」錯誤,測試與同一地址! 所以有時候它有效(1/10的機會)。 與谷歌我每次嘗試得到一個正確的結果...

不要犯同樣的錯誤,如果你想查找另一種語言的地址比英語,然後使用谷歌地圖API。

+0

嘗試新的Bing Maps v8,好多了 – juFo