1

我想知道是否有人知道我可以提供地址并返回十进制度的纬度/经度的良好网络服务?我一直在尝试使用Google Maps API,但我找不到使用桌面应用程序(Winforms)返回数据的文档。我已经使用了这两种方法WebClient,但都WebRequest/WebResponse没有成功。错误是 '610:Invalid key' 虽然我盯着钥匙,只是将它复制/粘贴到参数中 - 包括制作一个新的。这似乎Google不是一条简单的路线,如果可能的话,我想要一个差异选项。任何想法都会很棒。感谢您的关注。

4

1 回答 1

2

您正在寻找Google Geocoding API v3

桌面应用程序没有单独的东西。所以你正在寻找这个

" https://maps.googleapis.com/maps/api/geocode/xml ? address = 你的编码地址&sensor=false"

这是我在中使用的一个简单示例C#

string address = "your address";
encodedAddress = HttpUtility.UrlEncode(address).Replace("+", "%20");
string googleApiURL = "https://maps.googleapis.com/maps/api/geocode/" + "xml?address=" + encodedAddress + "&sensor=false";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(googleApiURL);
request.Timeout = 10000;
request.Method = "GET";
WebResponse response = request.GetResponse();
if (response != null)
{
                //Parse here to to capture the lat and long
}
else
{
                //Handle if don't get response
}

对您来说,将其转换为VB.NET.

这里的主要部分是您将如何解析 XML/JSON 响应,正如我在 URL 中已经大胆面对的那样

  • 谷歌提供两种不同的回应xmljson
  • 不要忘记对地址进行编码。

注意:使用 Google Geocoding API 的查询限制为每天 2,500 个请求。

希望你有一些想法。

于 2013-07-20T12:35:18.987 回答