【问题标题】:get 2 letter state/province abbreviation获得 2 个字母的州/省缩写
【发布时间】:2012-07-04 07:34:03
【问题描述】:

所以我使用 GeoNames API 来获取国家和州/省信息,我使用这些信息来填充表单中的选择下拉菜单。此表单将其信息提交给 SOAP Web 服务,而 SOAP 服务器仅了解 2 个字母形式的国家和州/省数据。 IE。 CA 代表加拿大,US 代表美国。 GeoNames API 为不同国家/地区提供此信息,但不为其子(州/省)提供此信息。

有谁知道如何从 GeoNames 获取州/省/领地的 2 个字母缩写,或者我可以尝试其他 API 吗?

【问题讨论】:

    标签: api geolocation geonames


    【解决方案1】:

    与@user640118 一致,在北美,州缩写不会经常更改(如果有的话)。最好只列出代码或缩写的静态列表。

    不过,为了回答您的问题,我开发了一个名为 LiveAddress 的此类 Web 服务,它通过一个简单的 REST 端点提供地理/邮政数据。不过,它更先进一点,因为它接受一个地址,部分或完整,并完整地填写它并验证它并标准化它。您可能会发现这对于删除重复项和对用户数据进行地理编码很有价值。

    如果你有地址,你可以像这样在Javascript中使用this wrapper function

    LiveAddress.verify("123 main st 12345", function(results) {
       console.log(results);
    });
    

    可在 API 文档中找到示例输出。

    【讨论】:

      【解决方案2】:

      我不熟悉 GeoNames API,但您似乎正在获取 ISO-3166 alpha-2 国家/地区代码:http://www.iso.org/iso/country_codes.htm

      如果是这样,ISO 3166-2:2007 会定义州和省。上面的页面描述了如何购买数据库和其他格式的信息。

      除非需要从 Web 服务获取此信息,否则我认为从某种类型的静态文件中读取下拉列表并创建偶尔更新的机制会更简单。这种类型的数据不应该经常变化(嗯,至少在稳定的国家)。

      【讨论】:

      • 你可能是对的,我不需要为此使用网络服务。
      【解决方案3】:

      Geonames 为国家/地区提供 2 个字母的缩写,但只为少数国家/地区的州提供它们。

      为什么他们不提供标准(和有用)的东西,因为这超出了我的范围。

      【讨论】:

        猜你喜欢
        • 2017-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多