谷歌地图 C# 中的 API 地址验证

本文关键字:地址 验证 API 中的 谷歌地图 | 更新日期: 2023-09-27 17:56:37

我正在编写使用谷歌API检查输入地址有效性的功能。用户输入街道号码,街道名称,郊区等,然后查找谷歌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 查找是否找不到给定地址的任何匹配地址。

任何帮助都会很棒,

提前谢谢。

谷歌地图 C# 中的 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