只是好奇,无论是谷歌地图API V3支持JavaScript的本地服务器上缓存?

由于,有时我的内部网页加载速度较慢,因为互联网连接的速度慢。否则,它会加载从本地服务器的文件和减速仅在地图请求。

我甚至准备运行一个cron作业来更新JavaScript文件曾经在一段时间。

感谢您的任何输入。

有帮助吗?

解决方案

这是不可能的 “原样”。

当您从谷歌要求的脚本,他们送头一起剧本和那些标题包含“无缓存”指令。

所以,如果你想他们是可缓存,您必须创建一个代理。相反,在谷歌指着脚本SRC的,你把它指向您的服务器。然后,您的服务器进行调用谷歌和发送响应返回给客户端。

此方式你必须通过HTTP报头和高速缓存控制。你可以在脚本内容做缓存,以及做出谷歌更少的连接。

我不会建议别人这样做在生产或关键任务网站。所有谷歌API是经常更新也必将或多或少在一起。如果发生了其他事情不同步了,你有一个很难跟踪你的手的错误。

希望有所帮助。

编辑:我听说你在你的文档的HEAD部分是把你的脚本。也许这就是伤害你的“感觉”页面加载时间。尝试只是</body>标签,并在页面的onload事件地图初始化之前移动的脚本下载。

麦克

其他提示

2016为,将JS返回带有“缓存控制:公共,最大年龄= 1800”头,因此它被高速缓存以供至少一个半小时

恕我直言,你不能缓存它。该API脚本调用谷歌服务器上的对象。至多,你可以捕捉的结果和缓存它们作为图像(但你失去交互)。

如果有可能缓存GMAP结果,人们也只是缓存谷歌的整个数据库在本地,我不认为这是用户协议的一部分。)

如果你想离线地图,你必须与非交互式图像做,或者买张地图服务器。

这不会让你违反谷歌的服务条款将维持OpenStreetMap的瓷砖用的OpenLayers脚本的本地缓存中观看他们的选项。基本上,使用免费的数据来创建自己的地图服务器。

如果有一些对你的企业内部网重要的感兴趣的特定点,可以确保他们在OpenStreetMap的和设置渲染服务器自己只用您需要的功能。毕竟,覆盖在一个地区每所学校在某些PNG的是要采取更多的工作,然后只显示与他们在学校取得的PNG。

这也将少走很多滞后,如果你的地图服务器得到一个缓慢的外部连接在周末,而不是击中谷歌地图API的所有时间中/生成砖。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top