2011-10-21 46 views
0
public ActionResult GetGeoLocation(string address) 
{ 
    var uri = string.Format(
     "http://maps.google.com/maps/api/geocode/json?address={0}&sensor=false", 
     HttpUtility.UrlEncode(address) 
     ); 

    var request = (HttpWebRequest)HttpWebRequest.Create(uri); 
    var response = (HttpWebResponse)request.GetResponse(); 

    return Json(response); 
} 

此代碼似乎調出來很好,但它沒有返回正確的結果嗎?我肯定錯過了什麼?使用C#調用谷歌GeoLocation並返回JSON

回答

1

您沒有閱讀回覆數據。使用GetResponseStream獲取包含響應正文的流。

var responseStream = response.GetResponseStream(); 

// read from responseStream 
+0

這似乎並沒有得到我正確的答案。如果我使用這個http://maps.google.com/maps/api/geocode/json?address=8793+s.+carr+way&sensor=false,我試圖找到所有我會得到的數據。這會返回JSON我需要。 – Mark

+0

@Mark - 你是如何從流中讀取的? – Oded

+0

@Mark - http://stackoverflow.com/questions/137285/what-is-the-best-way-to-read-getresponsestream/137300#137300 – Oded