我有一个phonegap应用程序,它使用Google Maps API显示带有标记的地图,这将显示城市每个景点的小简历。
我使用缓存应用程序和localstorage,第一个用于预加载我的所有图像,第二个用于在用户单击标记时显示预览,以及网络运行缓慢或关闭时。
但是,如果我想让这个应用程序脱机使用。我读到谷歌地图图块不能脱机使用。 事实上,离线我的应用程序看起来很好,但使用空画布而不是谷歌地图
谷歌地图的js加载是我的清单上的缓存,但所有应用程序都已关闭,因为缺少变量' google'由我的清单中的js脚本询问:
[Error] ReferenceError: Can't find variable: google
load (map.js, line 472)
Geolocation (geolocation.js, line 38)
所有包含此变量的脚本都停止。
解决方案是什么? 如果没有出现谷歌地图但不需要服务,那对我来说没问题。 事实上,在android离线,我没有问题,谷歌地图图块没有显示,但我的应用程序仍然可以脱机工作。
我看过多次soluton,但哪一个真的可以接受?
openstreemap + leafleft? 看起来不错,但相对于谷歌地图来说,它是不是太复杂了? 看起来我需要使用SQLite数据库来存储OpenStreetMap,我必须在渲染之前下载所有的瓷砖......
或者是否有另一张地图,比如bing或者其他地图,它们会停止渲染新的图块,但不会停止包含地图参考的所有javascropts。
感谢。
答案 0 :(得分:1)
你会考虑这个插件吗?
https://github.com/wf9a5m75/phonegap-googlemaps-plugin
上述插件使用Google Maps Android API v2和Google Maps SDK for iOS。 它们提供缓存映射。
此插件未涵盖Google Maps JavaScript API v3的所有功能,但大多数基本功能均可用,例如标记,折线。 它们比Google Maps JavaScript API v3快得多。