c# - C# 中的 Google map API 地址验证

标签 c# json asp.net-mvc google-maps

我正在编写使用 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/

相关文章:

c# - Web API 2 中非常基本的不记名 token 身份验证和授权

javascript - Vue : display response from form submit on another page

c# - ASP.NET 多层应用程序迁移到 ASP.NET Core

asp.net-mvc - 在 MVC 环境中处理返回 URL 的智能方法

asp.net-mvc - 如何使用默认值创建一个空的下拉列表?

c# - UInt16数组,C#中的后缀是什么?

c# - 查找 SQL 语句字符串中外层 FROM 子句的索引

json - 如果在数组中找到值,如何在不同级别输出键

java - Retrofit2 和 converter-gson : Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $

c# - 查询SQL时DateTime转换错误