适用于phonegap网络应用的最佳地图系统

时间:2014-05-16 15:09:46

标签: cordova map offline

我有一个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。

感谢。

1 个答案:

答案 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快得多。