【发布时间】:2011-09-06 00:11:14
【问题描述】:
当用户输入邮政编码时,我需要显示位置和城市名称。如何获取对应的位置名称?
【问题讨论】:
-
哪个国家?线上还是线下?用于待售产品,还是用于某种内部软件?
-
内网网站使用
-
美国。要是能上线就好了
当用户输入邮政编码时,我需要显示位置和城市名称。如何获取对应的位置名称?
【问题讨论】:
【讨论】:
试试 USPS 邮政编码 API - http://www.usps.com/webtools/welcome.htm
【讨论】:
您可以使用PlaceFinder 地理编码网络服务将REST based requests 使用要解析为名称的邮政编码。该服务支持 XML 和 JSON response formats。这是服务返回的response elements 的列表。
使用 .NET,您可以利用 System.Net 命名空间中的客户端或请求/响应类向服务发出请求并处理响应。
【讨论】:
最简单的方法是使用字符串。如果你想变得花哨,你也可以创建一个 ZIP 类。
using System;
using System.Collections.Generic;
class Program
{
// declare your variable
private static Dictionary<string, string> zipLookup;
public static void CreateZips()
{
zipLookup = new Dictionary<string, string>();
zipLookup.Add("90210", "Beverly Hills");
// fill all other values, probably from a db
}
static void Main(string[] args)
{
CreateZips();
var test = "90210";
if (zipLookup.ContainsKey(test))
{
Console.WriteLine(test.ToString() + "=" + zipLookup[test]);
}
else
{
Console.WriteLine(test.ToString() + " location unknown");
}
}
}
有关 ZIP 的更多详细信息,check out Wikipedia
【讨论】:
我在一家名为SmartyStreets 的公司从事地址验证行业。这里介绍的解决方案都以多种方式发挥作用,但要注意它们的局限性和特殊性。例如,Yahoo 的服务更像是地址suggestion,而不是validation。 USPS Web 服务在返回的结果方面非常有限,例如:您不会获得地址的县和组成部分数据、实际投递能力等。
对于更灵活、免费的解决方案——我可以推荐我们的LiveAddress API 吗?这是一个 REST-ful 端点,给定街道地址(例如)和邮政编码,将完整准确地完成整个地址。
【讨论】:
或者,您可以使用https://thezipcodes.com/
这几乎包含了我用于搜索的所有数据。 使用http://thezipcodes.com/docs 使用API。
【讨论】: