延迟加载Google地图库

时间:2013-08-12 09:29:38

标签: javascript google-maps google-maps-api-3 lazy-loading

我已经了解了here描述的Google地图库,我现在正在加载它们:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?libraries=places,weather&sensor=false"></script>

问题是我的地图页面让用户可以做很多不同的事情,现在我正在使用4个库。 我想要的只是在页面加载时包含“基本”Google Maps javascript,并且仅在需要时(例如,当用户想要查看天气时)延迟加载每个库。

这是否可行,而无需在每次需要图书馆时重新加载整个Google Maps API?

1 个答案:

答案 0 :(得分:0)

我知道你来自哪里,但是:

a)我不知道图书馆是打算以这种方式使用的,所以即使你可以让它工作,它也可能无法保证稳定,并且

b)你上面的调用拉了一个简短的脚本,然后调用一个名为getScript的函数并传递给它:

https://maps.googleapis.com/maps/api/js?libraries=places,weather&sensor=false

如果你省略了电话中的“天气”部分,那么毫不奇怪,这会给你:

https://maps.googleapis.com/maps/api/js?libraries=places&sensor=false

这两个文件之间的大小差异为0.6k。考虑压缩时会减少。

我怀疑你是否会通过单独加载它们来节省大量时间。总的来说,无论如何,将它们加载到一起可能会更快,因为涉及每个请求的延迟。