2014-02-15 2 views
0

빙 포인트 Api를 사용하여 두 지점 사이의 경로를 계산합니다. RestSharp 라이브러리와 함께 Rest Services를 사용합니다. 문제는 경로 결과에 액세스하는 방법을 모르겠다는 것입니다.빙지도 Api : Deserialise Json 결과

결과는 자원 유형입니다. 자원의 경로를 유도합니다. 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

내가 Google지도에 빙에서 API를 전환 :

다음은 경로를 계산하는 내 코드입니다. API는 사용하기가 훨씬 쉽고 올바른 결과를주었습니다.

Bing에서 "Not_found"오류가 발생하여 동일한 주소로 테스트 한 결과 9/10이 변경되었습니다! 가끔은 작동합니다 (1/10 기회). Google을 통해 각 시도에 올바른 결과를 얻었습니다.

한국어와 다른 언어로 주소를 검색하려면 Google Maps API를 사용하고 싶다면 실수를하지 마십시오.

+0

새로운 Bing Maps v8을 사용 해보세요. – juFo