有没有办法在离线设置中使用 Mapbox GL(询问 JS 和本机)?使用 MBTiles,您可以使用 MBTiles 文件或提取光栅图像。我想知道是否有任何类似的东西可以让 Mapbox GL 从本地源加载数据,而不是需要与 Mapbox 的服务器建立网络连接。不仅仅是在谈论用户离线时缓存数据,而是实际上制作了一个始终完全离线运行的地图。谢谢。
4 回答
离线 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/
在玩矢量图块时,我在这两个 repos 中记录了大部分用例:
还没有,但这是本机的开发路线图,至少:
https://github.com/mapbox/mapbox-gl-native/issues/584
在浏览器中使用 JavaScript 比较棘手,不是真正的核心用例,但也许可以完成。
您可以在此处找到适用于 iOS 的预打包/离线地图示例项目:
http://github.com/jaysquared/mapbox-gl-ios-offline-example
我基本上只是在 iOS 应用程序中运行一个网络服务器并提供磁贴。适用于矢量和图像图块。
MBTiles 可以在 Mapbox Maps iOS SDK 中显示,方法是在您的应用程序中托管一个 Web 服务器并将地图指向localhost
. 我在这里发布了我的解决方案:
https://gist.github.com/namannik/3b7c8b69c2d0768d0c2b48d2ed5ff71c
此解决方案与@jaysquared.com 发布的解决方案之间的区别在于此解决方案不需要style.json
.