【问题标题】:Is there a public geolocation system that I can query for names of local cities?是否有可以查询当地城市名称的公共地理定位系统?
【发布时间】:2010-03-03 19:03:17
【问题描述】:

我正在尝试简化系统中的地址输入,其中城市文本框自动建议最初由用户的地理位置填充。过去,在不知道省/州/国家/地区的情况下自动提示城市名称的成本似乎非常高,但要求用户向后输入地址是没有意义的,因为我们不会以这种方式考虑地址信息.另一方面,不自动提示城市名称意味着我们最终会得到各种奇怪而精彩的世界各地拼写错误城市的条目。

我想知道是否有一项服务可以让我查询,它不仅会根据用户在文本框中输入的内容,还会根据用户所在的国家/地区和政治边界自动以最合适的城市名称进行响应属于?

例如,如果我在加拿大 [as I am] 并输入“Mi”,那么我会看到以“Mi”开头的加拿大所有城市,直到确定我输入的信息不是“ t 加拿大在这一点上,它将根据我们的使用模式使用下一个最有可能配置的国家 - 即它将检查美国接下来,然后是墨西哥,然后是其他不太可能的目的地。如果我有数据库,我可以自己编写所有这些,但我不知道在哪里可以找到数据库,而且我怀疑它的可扩展性不如在网络上查询预先存在的服务。

【问题讨论】:

  • USPS(美国邮政服务)有一个邮政编码 API,其中包括地理位置。但我不知道它是否包括国际。

标签: database web-services geolocation ip-geolocation


【解决方案1】:

看起来 MaxMind 提供了一个free database,您可以以 CSV 格式下载:

如果你愿意,有一个在线演示可以测试一下,但无法通过网络服务查询。

IPInfoDB 的数据库也可用于 download - 他们有 an XML API,但它只支持查找特定 IP 的城市/国家。您正在尝试做一些比这更广泛的事情,寻找特定国家/地区的每个城市,并根据 IP 选择国家/地区。我不希望有一个网络服务,这是一个非常具体的要求。

编辑添加:您可以使用 IPInfoDB API 来查找国家/地区,然后从本地国家/城市数据库生成自动完成建议。这样就不需要在本地完成所有 IP 地理定位。您可以在多个地方获取特定国家/地区的城市列表。例如,这里有一些由国家地理空间情报局维护的综合 lists

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    • 2018-01-16
    • 2011-10-11
    • 2012-04-04
    • 1970-01-01
    相关资源
    最近更新 更多