2017-06-01 138 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"); 
相关问题