【问题标题】:Get location name by giving ZIP codes通过提供邮政编码获取位置名称
【发布时间】:2011-09-06 00:11:14
【问题描述】:

当用户输入邮政编码时,我需要显示位置和城市名称。如何获取对应的位置名称?

【问题讨论】:

  • 哪个国家?线上还是线下?用于待售产品,还是用于某种内部软件?
  • 内网网站使用
  • 美国。要是能上线就好了

标签: c# rss weather zipcode


【解决方案1】:

我会使用类似的网站

http://www.zipinfo.com/search/zipcode.htm

只需将邮政编码发送到那里,检索输入,解析城市名称,就这么简单。

【讨论】:

  • 感谢您的回复。我将以哪种格式从网站获取输出?。
  • 我不明白你的意思是什么格式。只是网站上的标准格式。
  • 我的意思是我正在开发一个.net 应用程序,用户输入邮政编码,所以我需要显示相应的城市名称。我会将邮政编码传递给上面给定的 url。那么我需要读取站点的输出,为此我问你站点是否以 xml 格式或任何其他文件发送响应?
  • 不,没有文件。只用简单的 HTML 响应。就像它给你一个文件一样容易解析,也许更容易。
  • @karthik k:您应该为此使用 HtmlAgilityPack。阅读此stackoverflow.com/questions/3978428/parse-a-html-combox-in-c 以获取更多信息。
【解决方案2】:

试试 USPS 邮政编码 API - http://www.usps.com/webtools/welcome.htm

【讨论】:

    【解决方案3】:

    您可以使用PlaceFinder 地理编码网络服务将REST based requests 使用要解析为名称的邮政编码。该服务支持 XML 和 JSON response formats。这是服务返回的response elements 的列表。

    使用 .NET,您可以利用 System.Net 命名空间中的客户端或请求/响应类向服务发出请求并处理响应。

    【讨论】:

      【解决方案4】:

      最简单的方法是使用字符串。如果你想变得花哨,你也可以创建一个 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

      【讨论】:

      • zipLookup.Add(new KeyValuePair(90210, "Beverly Hills"); -- 这里你给出了城市名称,我们怎么知道特定 zip 的城市名称代码?
      • @karthik k 你需要查找一下。也许您有数据库,或者您在运行时在线查找它。这些值不是凭空而来的,您需要以某种方式填充它们:)
      【解决方案5】:

      我在一家名为SmartyStreets 的公司从事地址验证行业。这里介绍的解决方案都以多种方式发挥作用,但要注意它们的局限性和特殊性。例如,Yahoo 的服务更像是地址suggestion,而不是validation。 USPS Web 服务在返回的结果方面非常有限,例如:您不会获得地址的县和组成部分数据、实际投递能力等。

      对于更灵活、免费的解决方案——我可以推荐我们的LiveAddress API 吗?这是一个 REST-ful 端点,给定街道地址(例如)和邮政编码,将完整准确地完成整个地址。

      【讨论】:

        【解决方案6】:

        或者,您可以使用https://thezipcodes.com/

        这几乎包含了我用于搜索的所有数据。 使用http://thezipcodes.com/docs 使用API​​。

        【讨论】:

          猜你喜欢
          • 2011-09-07
          • 1970-01-01
          • 2011-09-14
          • 2013-02-08
          • 1970-01-01
          • 1970-01-01
          • 2023-03-06
          • 2011-04-05
          相关资源
          最近更新 更多