【问题标题】:How to load google maps libraries dynamically如何动态加载谷歌地图库
【发布时间】:2023-04-10 02:42:02
【问题描述】:

我知道I can load libraries in google maps api v3 using libraries argument in URL。现在我处于无法更改 html 标记的情况,只能更改 javascript。可以使用一些javascript调用动态加载谷歌地图库,例如通过调用一些 google api 函数?例如。类似google.load()

【问题讨论】:

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


【解决方案1】:

Google 地图文档显示了通往 asynchronously load the API 的方法

该页面的代码:

function loadScript() {
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src="http://maps.googleapis.com/maps/api/jskey=API_KEY&sensor=TRUE_OR_FALSE&callback=initialize";
  document.body.appendChild(script);
}
window.onload = loadScript;

【讨论】:

  • 谢谢,但这是一个基于更改标记的肮脏技巧(顺便说一句,您缺少 library= URL 参数)。但是,我更感兴趣的是在 google api 已经加载后加载库 - 在 google.load() 的意义上..
【解决方案2】:

我知道这个问题很老了,但我最近遇到了同样的问题。在我的情况下,我不能轻易更改 script-load-url,而是在之后附加 js-code。双重加载google-maps-js也不能解决问题,因为被google禁止了。

为了使用库,我从相应的 url 复制了我需要的代码块。对于加载位置,它看起来像:

转到:https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&language=de&libraries=places

并复制'粘贴最后一个块,如下所示:

google.maps.__gjsload__('places', function(_){ ... })

在加载默认 api 后将其包含在脚本中。

记住:这很脏,但可以为你们中的一些人解决问题。干杯!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-31
    • 2011-04-24
    • 2015-01-10
    • 1970-01-01
    • 2016-10-02
    相关资源
    最近更新 更多