我想知道是否有人知道我可以提供地址并返回十进制度的纬度/经度的良好网络服务?我一直在尝试使用Google Maps API
,但我找不到使用桌面应用程序(Winforms)返回数据的文档。我已经使用了这两种方法WebClient
,但都WebRequest/WebResponse
没有成功。错误是 '610:Invalid key' 虽然我盯着钥匙,只是将它复制/粘贴到参数中 - 包括制作一个新的。这似乎Google
不是一条简单的路线,如果可能的话,我想要一个差异选项。任何想法都会很棒。感谢您的关注。
问问题
2099 次
1 回答
2
桌面应用程序没有单独的东西。所以你正在寻找这个
" 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 中已经大胆面对的那样
- 谷歌提供两种不同的回应
xml
或json
。 - 不要忘记对地址进行编码。
注意:使用 Google Geocoding API 的查询限制为每天 2,500 个请求。
希望你有一些想法。
于 2013-07-20T12:35:18.987 回答