【问题标题】:Offline App using Open Street Map and HTML5使用 Open Street Map 和 HTML5 的离线应用程序
【发布时间】:2013-09-21 08:23:50
【问题描述】:

我们想创建一个离线地图应用程序,以下是我对如何实现它的想法:

  • 从 OSM (XML) 下载地图数据
  • 在客户端浏览器上存储 OSM 地图数据
  • 使用 API 渲染地图

我的问题:

  • 从 OSM 下载数据,他们只允许导出一小部分地图,我不想下载 30GB 的数据库。有没有可以为我下载全国地图数据的应用?
  • 渲染地图,OSM 的最佳 JavaScript API 是什么?它应该允许离线工作,最好是那些能够渲染路线的人。

【问题讨论】:

  • 对于第一个问题:download.geofabrik.de 每个国家或州都有许多 osm 提取。
  • @SlavenRezic 做到了! :D 不幸的是,提取后文件大小变成了 900mb!我无法将其加载到浏览器。
  • @dpp 当然不是,实时渲染整个国家需要大量资源。您需要向仅包含可见区域的浏览器提供更少量的内容,仅包含您要渲染的功能以及仅对当前缩放级别可见的功能。摘录包含的信息比您需要的要多。

标签: html openstreetmap


【解决方案1】:

正如 SlavenRezic 已经提到的,有 country and area extracts 可用。不允许通过主 API 导出大面积区域的唯一原因是性能原因,因为这将涉及在主数据库上运行相当繁重的查询。或者,您可以自己将整个 planet 和 split 下载到地理区域,或者尝试使用比主要 API 快得多的 Overpass API。

对于rendering 的地图,有多种libraries 可用。选择适合您需求的那一款。我不确定是否有人能够显示路线,因为他们的主要目的是渲染。但也许您可以使用LeafLet 或OpenLayers 在渲染的地图上创建叠加层。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 2014-05-01
    • 2021-08-03
    • 2015-11-12
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    相关资源
    最近更新 更多