2017-06-01 137 views
0

感謝您花時間閱讀本文,我目前正在使用谷歌地圖api的網絡應用程序,但我不斷收到錯誤遠程服務器返回錯誤:(400)錯誤的請求。下面的代碼是推薦和說,工作,但我似乎無法得到它的工作。我在本地主機上運行,​​這是一個.cs類。Googe maps web API遠程服務器返回錯誤:(400)錯誤的請求

public string reverseGeocoding(string latlng) 
    { 
     //samplelatlng value 
     //latlng ="- 26.1946929,28.042508699999985" 
     var requestUri = string.Format("https://maps.googleapis.com/maps/api/geocode/xml?location="+ latlng + "&sensor=false"); 

     var request = WebRequest.Create(requestUri); 
     var response = request.GetResponse(); 
     var xdoc = XDocument.Load(response.GetResponseStream()); 

     var result = xdoc.Element("GeocodeResponse").Element("result"); 
     var address = result.Element("formatted_address").ToString(); 
     return address; 
     //var locationElement = result.Element("geometry").Element("location"); 
     //var lat = locationElement.Element("lat"); 
     //var lng = locationElement.Element("lng"); 

     //formatted_address 
    } 

回答

0

您確定變量latlong傳遞正確嗎?通常,當您通過Google地圖等公共API獲得「不良請求400」時,意味着請求存在實際問題。確保latlong變量中沒有空格。我會打印您的requestUri以查看它的外觀。

+0

https://maps.googleapis.com/maps/api/geocode/xml?location=-26.1946929,28.042508699999985&sensor=false這是什麼樣子感謝 –

+0

當我瀏覽它足夠有趣,我得到了結果回來。 –

+0

這是它應該是latlng的位置 –

0

我發現大部分教程都有位置作爲參數,它應該是latlng因爲我傳遞latlng我覺得非常愚蠢謝謝你,我知道。

var requestUri = string.Format("https://maps.googleapis.com/maps/api/geocode/xml?latlng=" + latlng + "&sensor=false"); 
相關問題