【发布时间】:2012-04-27 01:38:09
【问题描述】:
我们正在开发一个 HTML5 应用程序,它有一个谷歌地图来改变搜索的位置。 现在这个应用程序也有一个离线版本。有什么办法可以缓存谷歌地图,当应用离线时,它会显示离线版本?
我们怎样才能让用户再次更改位置?
【问题讨论】:
标签: jquery html google-maps jquery-mobile
我们正在开发一个 HTML5 应用程序,它有一个谷歌地图来改变搜索的位置。 现在这个应用程序也有一个离线版本。有什么办法可以缓存谷歌地图,当应用离线时,它会显示离线版本?
我们怎样才能让用户再次更改位置?
【问题讨论】:
标签: jquery html google-maps jquery-mobile
目前没有任何缓存机制适用于谷歌地图,事实上,明确下载的地图图块具有指定的 nocache 标头(有趣的是,正在为 Android 版本的地图进行缓存,但它是仍处于实验阶段)。为了离线利用地图,您可能需要推出自己的缓存方案。
随着移动设备的爆炸式增长,以及在使用移动设备时有时会断开连接的可能性,如果 Google 确实在未来的某个时间向地图添加离线浏览功能(可能是 v4 ?)。
更新:
公共问题跟踪器中有一个功能请求:
https://code.google.com/p/gmaps-api-issues/issues/detail?id=8914
请对此功能请求加注星标以表达您的兴趣并接收来自 Google 的进一步更新。
【讨论】:
我制作了一个带有缓存地图的 HTML5 应用程序,但它不是 Google 地图。我使用来自http://search.cpan.org/~rotkraut/Geo-OSM-Tiles-0.02/downloadosmtiles.pl 的 tiledownloader 并使用 Mapquest 的 Open tile 服务器下载了我需要的区域,因为它们没有命中限制。然后,我使用脚本遍历所有切片并将它们添加到 cache.manifest 文件中。然后我只使用 Cloudmade 的 Leaflet 来绘制图块。
【讨论】: