我正在编写使用 google API 检查输入地址有效性的功能。用户输入街道号码、街道名称、郊区等,然后查找 google api 并返回最适合输入地址的格式化地址。
到目前为止我已经得到了以下信息:
public string getFormattedAddress(string address)
{
string url = "https://maps.googleapis.com/maps/api/geocode/json?address=%" + address + "&key=" + MyStaticMethods.GOOGLE_API_KEY;
object result = new WebClient().DownloadString(url);
string json = result.ToString();
JObject obj = JObject.Parse(json);
...
}
但我在读取 API 的响应时遇到问题。以下是我想要做的伪代码:
var streetNumber = apiResult.streetNumber
var address = apiResult.address;
var postcode = apiResult.postcode;
我还想要一种方法来判断 API 查找是否找不到给定地址的任何匹配地址。
任何帮助都会很棒,
提前致谢。
最佳答案
我建议你使用这个库: https://github.com/chadly/Geocoding.net
示例:
GoogleGeocoder geocoder = new GoogleGeocoder();
IEnumerable<GoogleAddress> addresses = await geocoder.GeocodeAsync("1600 pennsylvania ave washington dc");
var country = addresses.Where(a => !a.IsPartialMatch).Select(a => a[GoogleAddressType.Country]).First();
Console.WriteLine("Country: " + country.LongName + ", " + country.ShortName);
//Country: United States, U
关于c# - C# 中的 Google map API 地址验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38344473/