我正在为 iPhone 创建一个离线 map 应用程序(使用 MKMapKit
)。它将有一个国家列表。如果用户选择了一个国家,所有的瓷砖都将被下载并存储在 iPhone 上。我将使用 Open Street Map 作为 map 提供者。
(我读过禁止批量下载,但考虑到一个国家/地区的图 block 非常小(≈200MB)并且它们只会下载一次,至少我认为这不是问题。)
我想我将使用模板 URL @"http://c.tile.openstreetmap.org/{z}/{x}/{y}.png"
下载瓷砖然后存储它们。我的问题是我不知道如何确定哪些图 block 属于哪个国家,从而确定要下载哪个图 block 。
我找到了this link在另一个 SO 答案中,但这仅允许您下载 .pbf 文件(我不知道它是什么)和每个大陆。
最佳答案
第一:如果你真的想抓取所有的瓦片(在所有缩放级别),你应该阅读 OSM Tile Usage Policy再次小心。如果您只想下载一次所有图 block (用于您的开发环境),您可以使用 existing downloaders允许您选择所需的国家并下载它们。这将产生一个包含 1000 多个小图像的目录,并且可能需要几天时间。
更好的方法是设置您自己的(基于桌面或服务器的)平铺渲染链,让您可以完全控制样式并且不会对社区资源造成压力。有关如何设置基于服务器的渲染堆栈的详细教程,请参阅 www.switch2osm.org。
关于ios - 从 Open Street Map 下载一个国家的所有图 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23616401/