我们想创建一个离线 Map 应用程序,这是我对如何实现它的想法:
从OSM(XML)下载 Map 数据
在客户端浏览器上存储OSM Map 数据
使用API渲染 Map
我的问题:
从OSM下载数据,它们只允许导出一小部分 Map ,我不想下载30GB数据库 . 是否有可以下载整个国家/地区的 Map 数据的应用程序?
渲染 Map ,OSM最好的JavaScript API是什么?它应该允许脱机工作,最好是那些具有渲染路径能力的工作 .
正如SlavenRezic已经提到的,有country and area extracts可用 . 不允许通过主API导出大区域的唯一原因是性能原因,因为这将涉及在主数据库上运行相当繁重的查询 . 或者,您可以自己将整个planet和split下载到地理区域,或尝试使用Overpass API,这比主API快得多 .
对于rendering Map ,有各种libraries可用 . 选择适合您需求的产品 . 我不确定是否有人能够显示路线,因为他们的主要目的是渲染 . 但也许您可以使用LeafLet或OpenLayers在渲染 Map 的顶部创建叠加层 .
1 回答
正如SlavenRezic已经提到的,有country and area extracts可用 . 不允许通过主API导出大区域的唯一原因是性能原因,因为这将涉及在主数据库上运行相当繁重的查询 . 或者,您可以自己将整个planet和split下载到地理区域,或尝试使用Overpass API,这比主API快得多 .
对于rendering Map ,有各种libraries可用 . 选择适合您需求的产品 . 我不确定是否有人能够显示路线,因为他们的主要目的是渲染 . 但也许您可以使用LeafLet或OpenLayers在渲染 Map 的顶部创建叠加层 .