javascript - Google map 库的延迟加载

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

我知道 Google map 库,如 here 中所述。我目前正在像这样加载它们:

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

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

这是否可能,而无需每次需要库时重新加载整个 Google Maps API?

最佳答案

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

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。当您考虑压缩时会更少。

我怀疑尝试单独加载它们会节省大量时间。总的来说,由于涉及每个请求的延迟,无论如何将它们加载在一起可能会更快。

关于javascript - Google map 库的延迟加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18183639/

相关文章:

javascript - Google Maps API v3,删除标记图标或更改为 "null"?

java - Google map 有 Swing 组件吗?

javascript - 如何在 getCurrentPosition 回调后执行 ajax 异步调用。

javascript - Google map 单击除 RichMarker 监听器之外的任何内容

javascript - Webpack 代码拆分 : ChunkLoadError - Loading chunk X failed, 但 block 存在

javascript - Google Maps API - 对指令进行回调

PHP/Javascript : Variable Swapping & Function calling

javascript - 你能隐式地告诉 Intellisense 变量是什么类型吗?

javascript - 无法在 GridView 内单击按钮时打开弹出式 div

javascript - jquery 根据精确匹配显示行