gpt4 book ai didi

html - 离线使用 Google Maps V3,例如缓存 list ?

转载 作者:技术小花猫 更新时间:2023-10-29 12:15:13 30 4
gpt4 key购买 nike

我正在编写一个 HTML5 移动应用程序,该应用程序使用带有自定义 OpenStreetMap 图 block 层的 Google Maps V3。

OSM 图 block (来自 tile.openstreetmap.org)被设置为缓存超过 24 小时,我正在为我的所有 HTML/JS/CSS 使用缓存 list 。

因此该应用程序理论上可以离线使用,除了谷歌地图界面在离线时不满意。

它总是想调用位于 http://maps.google.com/maps/api/js?sensor=false&region=GB 的 Google map 服务器 - 如果失败,Google map 就会失败装载。

有什么方法可以离线使用 Google Maps V3 API 吗?

我可以缓存 list http://maps.google.com/maps/api/js?sensor=false&region=GB 吗?否则这会是一个糟糕的举动吗?

(很抱歉这个相当初学者的问题,如果我能解释得更好,请告诉我!)

最佳答案

Google 编码人员自己已经解决了这个问题,不幸的是信息没有得到很好的传播。但是,是的,您可以使用 cache-manifest 来完全按照您的描述进行操作。

必读

  1. 首先查看此处的 Google Code 博文:http://googlecode.blogspot.com/2010/04/google-apis-html5-new-era-of-mobile.html
  2. 然后阅读密苏里州立大学自己的帖子:http://blogs.missouristate.edu/web/2010/05/12/google-maps-api-v3-developing-for-mobile-devices/

技术

  • 必须缓存 Google map 使用的每个 URL
  • 通过将 Chrome 和 Firefox 顽固的缓存方法从“离线网站”中移除来对抗 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 并认识到这将对您的用户产生的影响。如果您的用户使用最新的浏览器标准/设备,或者您可以控制用户的选择,这种情况就很方便。

希望这对您有所帮助。

关于html - 离线使用 Google Maps V3,例如缓存 list ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6294782/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com