【发布时间】:2013-08-06 09:28:26
【问题描述】:
我正在使用 PhoneGap (3.0) 构建 Android/iOS 应用程序。
该应用程序围绕地图展开,我得出的结论是,从诸如 OpenStreetMap 之类的远程服务加载图块太慢并且过于依赖 3G。
有没有办法在我的应用程序中存储图块?
如果是,我在哪里可以找到一些文档、代码 sn-ps 等?
【问题讨论】:
标签: android ios map cordova tile
我正在使用 PhoneGap (3.0) 构建 Android/iOS 应用程序。
该应用程序围绕地图展开,我得出的结论是,从诸如 OpenStreetMap 之类的远程服务加载图块太慢并且过于依赖 3G。
有没有办法在我的应用程序中存储图块?
如果是,我在哪里可以找到一些文档、代码 sn-ps 等?
【问题讨论】:
标签: android ios map cordova tile
这取决于您是打算使用自己的自定义地图还是想要使用 3rd 方地图服务并因此想要离线缓存他们的切片。
在第一种情况下,我有一些经验;我制作了一系列引导步行应用程序,这些应用程序使用我在 Adobe Illustrator 中绘制的大型自定义地图。有关详细信息,请参阅我的 stackoverflow question and subsequent answer,但总的来说,我使用了一个名为 pngnq 的工具来创建高度压缩的 256 色 8 位 PNG 地图切片,这些切片足够小,我可以将多个缩放级别的切片与每个应用程序捆绑在一起.我最终实现了一个自定义地图解决方案,以便在较旧的 Android 设备上使用我的 Phonegap 应用时实现足够快的地图滚动和缩放性能。
在后一种情况下,如果您计划离线存储第 3 方图块,则应首先检查您是否违反使用条款 - 一些地图提供商明确禁止离线缓存其地图数据。
假设这没问题,您可能需要考虑使用leafletjs 为您的地图提供动力。您可能想查看 HTML5 离线映射的 this blog article 和 this Phonegap-specific one。两者都有指向 GitHub 上提供源代码的概念验证应用程序的链接。
希望这会有所帮助!
【讨论】: