试图使用谷歌地理编码api获得异常

时间:2014-02-15 10:26:31

标签: c# geocoding

我试图使用谷歌地理编码API将地址转换为经度和纬度。但是我得到了这个异常

  

无法解析远程名称:'maps.googleapis.com'   描述:执行期间发生未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:System.Net.WebException:远程名称不能   解决:'maps.googleapis.com'

在以下一行

 Address[] addresses = geocoder.Geocode("1600 pennsylvania ave washington dc").ToArray();

我没有得到它是什么请有人帮助我。

3 个答案:

答案 0 :(得分:1)

由于系统中的代理设置,会发生这种情况。请在您的web.config文件中添加此代码,它将起作用。

  <system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true">
    </defaultProxy>
 </system.net>

答案 1 :(得分:0)

请尝试以下C#代码。如果您不打电话给Yahoo和Bing,为什么不直接调用Google GeoService并使您的项目更精益。

    string uri = "https://maps.googleapis.com/maps/api/geocode/json?address=123+Some+Adress,My+City,ST,12345&key=googleKey";

    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri );
    req.Method = "GET";
    req.Accept = "application/json";
    req.ContentType = "application/json";

    HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
    var request = WebRequest.Create(requestUri);
    var response = request.GetResponse();
    var xdoc = response.GetResponseStream();
    String resposne = new StreamReader(xdoc).ReadToEnd();

答案 2 :(得分:0)

我也面临同样的问题。如果您与局域网连接并受代理服务器保护,则进入谷歌浏览器设置。我们的系统采用谷歌浏览器的默认设置。在chrome的设置中,进入代理设置。单击Lan设置。单击代理设置复选框,然后单击以通过代理服务器获取本地地址。还可以在文本框中填写代理服务器的详细信息。提前进入并在例外字段中再次键入localhost.Run项目。它将起作用。