【问题标题】:Using Mapbox GL Offline离线使用 Mapbox GL
【发布时间】:2015-04-04 12:52:42
【问题描述】:

有没有办法在离线设置中使用 Mapbox GL(询问 JS 和原生)?使用 MBTiles,您可以使用 MBTiles 文件或提取光栅图像。我想知道是否有任何类似的东西可以让 Mapbox GL 从本地源加载数据,而不是需要与 Mapbox 的服务器建立网络连接。不仅仅是在谈论用户离线时缓存数据,而是实际上制作了一个始终完全离线运行的地图。谢谢。

【问题讨论】:

    标签: mapbox mapbox-gl mapbox-gl-js


    【解决方案1】:

    还没有,但这至少在原生的开发路线图上:

    https://github.com/mapbox/mapbox-gl-native/issues/584

    在浏览器中使用 JavaScript 比较棘手,并不是真正的核心用例,但也许可以做到。

    【讨论】:

    • 谢谢。我还发现这对 Mapbox GL JS 很有帮助:gis.stackexchange.com/questions/125037/… 看来我可以使用 sqlite 扩展来按需从 MBTiles 中提取 PBF,或者使用 mbutil 预先提取它们并以类似于 PNG 的方式提供静态服务。
    【解决方案2】:

    离线 MapBox GL JS 示例(完全托管在自定义服务器上,在本例中为 GitHub gh-pages)可见于:

    http://klokantech.github.io/mapbox-gl-js-offline-example/

    从 MBTiles 解压出来的 javascript、css、字体甚至是预渲染的矢量图块可能只是在一个目录中,您就可以得到可缩放的矢量图。

    如果您想在网上某个地方免费托管带有矢量或光栅图块的 MBTiles,最简单的方法可能是:https://github.com/klokantech/tileserver-php/

    在使用矢量图块时,我在这两个存储库中记录了大部分用例:

    【讨论】:

    【解决方案3】:

    您可以在此处找到适用于 iOS 的预打包/离线地图示例项目:

    http://github.com/jaysquared/mapbox-gl-ios-offline-example

    我基本上只是在 iOS 应用程序中运行一个网络服务器并提供磁贴。适用于矢量和图像图块。

    【讨论】:

      【解决方案4】:

      MBTiles 可以在 Mapbox Maps iOS SDK 中显示,方法是在您的应用中托管一个 Web 服务器并将地图指向 localhost。我在这里发布了我的解决方案:

      https://gist.github.com/namannik/3b7c8b69c2d0768d0c2b48d2ed5ff71c

      此解决方案与@jaysquared.com 发布的解决方案之间的区别在于,此解决方案不需要style.json。

      【讨论】:

        猜你喜欢
        • 2021-01-30
        • 2021-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-10
        • 2015-10-07
        相关资源
        最近更新 更多