ios - 在移动设备上进行离线反向地理编码的技术?

标签 ios geocoding offline reverse-geocoding

我正在开发一个移动 map 应用程序(目前是 iOS,最终是 Android) - 我正在努力解决如何在不使用在线服务的情况下最好地支持从纬度/经度到国家/地区的反向地理编码。

Apple 的反向地理编码 API 依赖于 Google 作为后端,并且在连接时运行良好。我也可以使用 Open Street Maps 项目或任何数量的其他 Web 服务来实现类似的功能。

然而,我真正想要的是创建一个 C 库,即使在我的应用程序中离线时我也可以调用它,传递 GPS 坐标,并让它返回这些坐标的国家和/或州。我不需要比状态级别更细的粒度,因此数据集并不庞大。

我已经看到了如何在服务器上执行此操作的示例,但从来没有任何适合移动设备的示例。

我听说过Spatialite可能是一个解决方案,但我不知道如何让它在 iOS 上运行,我想知道它是否可能会过度解决这个问题。

有哪些推荐的技术来实现这一点?

最佳答案

拉文

您将需要获取所有行政实体(美国各州、国家等)的 Shapefile(纬度/经度大纲)。这些有很多公共(public)领域的资源。例如,NOAA 有美国各州和领地的 shapefile,您可以下载:

http://www.nws.noaa.gov/geodata/catalog/national/html/us_state.htm

获得 shapefile 后,您可以使用 shapefile 阅读器来测试 lat/lng 是否在形状内。 C中有开源阅读器,只有谷歌。我在 sourceforge 上看到了 shapefile 的东西,但我自己没有使用过这些东西。

OpenGeoCode.Org 的团队

关于ios - 在移动设备上进行离线反向地理编码的技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4589519/

相关文章:

ios - Xcode如何调试发送到实例的无法识别的选择器

ios - 如何在 iOS 中打开 Excel 工作表

ios - Xamarin for iPhone 6s 中没有可用的 750x1334 启动图像选项吗?

google-maps - Google Maps V3 API - 超过查询限制,但只有 1 个请求

windows-phone-8 - windows phone 8 Map API GeocodeQuery.SearchTerm 不是英语一无所获

R - ggmap - 通过地理编码计算城市之间的最短距离

laravel-4 - 如何离线安装 Laravel 4

database - SQL Server 2008恢复离线数据库的方法

delphi - 使用google map API打开*.map或其他 map 文件(离线 map )

iOS9 supportedInterfaceOrientationsForWindow 停止调用