2014-04-21 72 views
0

我正嘗試使用Bing地理編碼Web服務將地址轉換爲位置,以便在我的WinForm應用程序中添加Bing WPF控件。Bing地理編碼網絡服務不良結果

我的問題是,某些地址可以通過地理編碼和其他地址正確找到!

如果我直接在tha bing地圖網站上搜索這個地址,它會被發現。

這裏是我的示例:

public static GeocodeResponse GetGeocodeResponse(string appId, string address) 
    { 
     GeocodeRequest geocodeRequest = new GeocodeRequest 
     { 
      Credentials = new Credentials {ApplicationId = appId}, 
      Query = address 
     }; 
     ConfidenceFilter[] filters = new ConfidenceFilter[1]; 
     filters[0] = new ConfidenceFilter { MinimumConfidence = Confidence.High }; 
     GeocodeOptions geocodeOptions = new GeocodeOptions { Filters = filters }; 
     geocodeRequest.Options = geocodeOptions; 

     GeocodeServiceClient geocodeServiceClient = new GeocodeServiceClient("BasicHttpBinding_IGeocodeService"); 
     return geocodeServiceClient.Geocode(geocodeRequest); 
    } 

任何人有以相同的提示來解決這個問題?

非常感謝:)

回答

0

有幾種可能的原因可能導致這種情況。首先是您正在使用基本或試用帳戶,並且您的請求正受到速率限制。這發生在服務器負載很重或者以超過免費使用條件的頻率發出大量請求時發生。這樣做是爲了確保企業帳戶不受使用基本或試用用戶的影響。當發生速率限制時,會在響應的標題中添加一個標誌以指示:

您正在使用舊版傳統Bing地圖SOAP服務,該服務在4年內尚未更新。通常不建議針對這些服務進行任何新的開發,因爲它們速度慢,功能較少,並且返回的結果通常比Bing Maps REST服務的結果要準確得多。我建議移至Bing Maps REST服務。你可以找到關於如何使用它們在.NET文檔在這裏:

http://msdn.microsoft.com/en-us/library/ff701713.aspx http://msdn.microsoft.com/en-us/library/jj819168.aspx

而且,看看這個博客帖子: http://rbrundritt.wordpress.com/2013/02/14/bing-maps-rest-service-tips-amp-tricks-2/

我還包括如何使用REST服務在第5章我的免費電子書深入介紹: http://rbrundritt.wordpress.com/my-book/