iOS上的离线反向地理编码

iOS上的离线反向地理编码,ios,objective-c,mapkit,geocoding,reverse-geocoding,Ios,Objective C,Mapkit,Geocoding,Reverse Geocoding,与这个问题相关的问题很多,但我已经尽可能多地研究了其中的许多问题,但没有得到答案 我正在尝试基于纬度和经度在iOS上执行脱机反向地理编码查找。我希望能够提供纬度和经度,以及该点所在的国家。我可以用Geonames(比如:)来实现这一点,但我需要一个类似的离线功能,在设备上没有互联网功能 CLLocation无法提供足够可靠的离线服务,它依赖于您以前在线时创建的缓存,等等。非常混乱 我尝试过这个方法:但没有任何运气,它需要一些稍微复杂/混乱的终端安装,使用一种我从未听说过的叫做Thor的东西,并且

与这个问题相关的问题很多,但我已经尽可能多地研究了其中的许多问题,但没有得到答案

我正在尝试基于纬度和经度在iOS上执行脱机反向地理编码查找。我希望能够提供纬度和经度,以及该点所在的国家。我可以用Geonames(比如:)来实现这一点,但我需要一个类似的离线功能,在设备上没有互联网功能

CLLocation
无法提供足够可靠的离线服务,它依赖于您以前在线时创建的缓存,等等。非常混乱

我尝试过这个方法:但没有任何运气,它需要一些稍微复杂/混乱的终端安装,使用一种我从未听说过的叫做Thor的东西,并且抛出了各种各样的错误,所以我放弃了它

我发现了一些可下载的地图,但这些地图似乎更复杂,令人担忧的是,它们的大小有数百兆甚至千兆字节——远远超出了iOS应用程序的范围。我只需要国家,没有比这更小的(城市,街道,地点等),所以我认为我应该能够得到一个小得多的文件

所以我的关键问题是:是否有一些预先存在的数据库或工具,最好是支持iOS的,我可以输入纬度/经度,并获得一个国家?如果没有,我应该采取什么步骤让这些功能自己工作

提前感谢。

是一个
.csv
文本文件,包含国家、坐标、本地化国家名称、大写字母和其他信息。它似乎是免费使用的。您只需将其导入SQLite数据库

编辑刚刚注意到您需要反向地理编码。该数据库只适用于正向地理编码

您可以在下载所有国家/地区的形状文件。如果下载
.kmz
,则可以将其解压缩到边界坐标列表中。您可能需要每隔5或10个坐标来获得较小的尺寸(精度较低)。

是一个
.csv
文本文件,包含国家、坐标、本地化国家名称、大写字母和其他信息。它似乎是免费使用的。您只需将其导入SQLite数据库

编辑刚刚注意到您需要反向地理编码。该数据库只适用于正向地理编码


您可以在下载所有国家/地区的形状文件。如果下载
.kmz
,则可以将其解压缩到边界坐标列表中。您可能会每隔5或10个坐标获取一个较小的尺寸(精度较低)。

ReverseGeoDeCountry
是一个简单的用于iOS的轻型脱机国家反向地理编码器,它有一个静态JSON文件,其中包含国家多边形数据,用于对任何lat/lng进行反向地理编码:


ReverseGeocodeCountry
是一个简单的用于iOS的轻型离线国家/地区反向地理编码器,它有一个包含国家/地区多边形数据的静态JSON文件,用于对任何lat/lng进行反向地理编码:


以防万一,我可以推荐另一个好的离线地理编码库。

以防万一,我可以推荐另一个好的离线地理编码库。

如果这对应用程序的功能足够,您可以用机场(请参阅)或城市的位置()近似查找。如果这对应用程序的功能足够,您可以用机场(请参阅)或城市()的位置近似查找,如果所有国家/地区都有最大和最小纬度和经度,它应该能满足我的需要,不是吗?我只是将这些值放入某种类型的数据结构中,然后在用户点击我的应用程序中的地图时进行查询?这对于边界区域来说不够精确。想想法国的边界。在东北部,你会看到比利时、德国和荷兰的大片区域。你将不得不处理国家边界的形状文件。哦,这将基本上围绕国家的最北部、南部、西部和东部点绘制一个矩形?这可能并不可怕,人们没有太多理由在边境上点击,他们从全世界选择了一个国家。关于shapefile,我该如何处理呢?我从来没有做过这样的事。我在答案中添加了一些细节。我从来没有实际使用过shapefile,但是你会得到一个沿着边界的坐标列表。如果你不想惹这么多麻烦,从“世界各国”中找出每个国家的中心坐标,然后向用户提供5-10个国家的选择,按距离排序。大多数时候,他们的国家都会排在前三名。如果所有国家都有最大和最小的纬度和经度,它应该做我需要的事情,不是吗?我只是将这些值放入某种类型的数据结构中,然后在用户点击我的应用程序中的地图时进行查询?这对于边界区域来说不够精确。想想法国的边界。在东北部,你会看到比利时、德国和荷兰的大片区域。你将不得不处理国家边界的形状文件。哦,这将基本上围绕国家的最北部、南部、西部和东部点绘制一个矩形?这可能并不可怕,人们没有太多理由在边境上点击,他们从全世界选择了一个国家。关于shapefile,我该如何处理呢?我从来没有做过这样的事。我在答案中添加了一些细节。我从来没有实际使用过shapefile,但是你会得到一个沿着边界的坐标列表。如果你不想惹这么多麻烦,从“世界各国”中找出每个国家的中心坐标,然后向用户展示w