OSM磁贴(来自tile.openstreetmap.org)设置为缓存超过24小时,我正在为我的所有HTML / JS / CSS使用缓存清单.
因此,理论上应用程序可以脱机使用,但Google Maps界面在离线时不满意.
它始终要通过http://maps.google.com/maps/api/js?sensor=false\u0026amp;region=GB致电Google地图服务器 – 如果此操作失败,Google地图无法加载.
有没有办法离线使用Google Maps V3 API?
我可以缓存 – 清单http://maps.google.com/maps/api/js?sensor=false\u0026amp;region=GB,或者这是一个不好的举动?
(对不起这个相当初学的问题,如果我能解释得更好,请告诉我!)
解决方法
所需读物
>首先来看看Google Code博文:http://googlecode.blogspot.com/2010/04/google-apis-html5-new-era-of-mobile.html
>然后阅读密苏里州立大学自己的帖子:http://blogs.missouristate.edu/web/2010/05/12/google-maps-api-v3-developing-for-mobile-devices/
技术
>您必须缓存Google地图使用的每个网址
>通过将其从“离线网站”中删除,采用方法来对抗Chrome和Firefox的顽固缓存方法
>所有自定义必须在javascript中为客户端
您的缓存文件看起来像(根据密苏里州):
CACHE MANIFEST /map/mobile/examples/template.aspx /map/mobile/examples/template.css /map/mobile/examples/template.js NETWORK: http://maps.gstatic.com/ http://maps.google.com/ http://maps.googleapis.com/ http://mt0.googleapis.com/ http://mt1.googleapis.com/ http://mt2.googleapis.com/ http://mt3.googleapis.com/ http://khm0.googleapis.com/ http://khm1.googleapis.com/ http://cbk0.googleapis.com/ http://cbk1.googleapis.com/ http://www.google-analytics.com/ http://gg.google.com/
注意事项
您需要完全基于HTML5,并认识到这将对您的用户产生的影响.如果您的用户在浏览器标准/设备上是最新的,或者您可以控制用户选择,则这种情况很方便.
希望这可以帮助.