【问题标题】:Offline foward geocoding离线转发地理编码
【发布时间】:2012-12-20 12:38:22
【问题描述】:

在我基于位置的 iPhone 应用程序中,我喜欢让它在没有网络可用性的情况下也能工作。我有一个普通的谷歌地图。该应用程序适用于前向地理编码,因此当输入城市或国家/地区时,我需要经度和纬度。这可以离线工作吗?如何实现?

【问题讨论】:

  • 嗯,这需要一个世界上每个城市的数据库来存储在本地。

标签: iphone ios map core-location


【解决方案1】:

你可以在这里找到一个数据库:

http://dev.maxmind.com/geoip/geolite

转到 CSV/Zip GeoLite City 数据库。它有一个可追溯到 2009 年的数据存档。确保在底部下载最新的 (GeoLiteCity_20130101.zip)。您也可以选择 gzip 或二进制数据版本,但我不知道二进制数据的确切格式。网站上某处有解释。

CSV 存档有两个 CSV 文件。 GeoLiteCity-Location.csv 有一个相当大的城市数据库(您可能希望将其转换为能够比数组更快地搜索的格式,并希望占用更少的空间)。它包含全球近 400,000 个城市的国家、地区(例如州)、城市、纬度和经度。如果您还需要,另一个文件包含这些城市的 IP 范围。

【讨论】:

  • 注意:数据也可以稍微清理一下。有一些重复的条目w.r.t。国家/地区/城市/位置(这些重复项中还有其他不同的数据)。大量城市名称包含非 ASCII 字符,可能难以搜索。
猜你喜欢
  • 2013-07-13
  • 1970-01-01
  • 2013-09-19
  • 2013-01-13
  • 1970-01-01
  • 2010-11-11
  • 1970-01-01
  • 2012-08-11
  • 2011-07-03
相关资源
最近更新 更多