C# C语言中的GoogleMapsAPI地址验证#

C# C语言中的GoogleMapsAPI地址验证#,c#,json,asp.net-mvc,google-maps,C#,Json,Asp.net Mvc,Google Maps,我正在编写用谷歌API检查输入地址有效性的功能。用户输入街道编号、街道名称、郊区等,然后查找谷歌api 并返回最适合输入地址的格式化地址 到目前为止,我得到了以下信息: public string getFormattedAddress(string address) { string url = "https://maps.googleapis.com/maps/api/geocode/json?address=%" + address + "&key=" + MyStati

我正在编写用谷歌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查找是否找不到给定地址的任何匹配地址

任何帮助都会很好


提前感谢。

我建议您使用此库:

例如:

 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
GoogleGeocoder geocoder=新的GoogleGeocoder();
IEnumerable addresses=wait geocoder.GeocodeAsync(“华盛顿特区宾夕法尼亚大道1600号”);
var country=addresses.Where(a=>!a.IsPartialMatch)。选择(a=>a[GoogleAddressType.country])。First();
Console.WriteLine(“国家:“+Country.LongName+”,“+Country.ShortName”);
//国家:美国