Google Maps V3 - 覆盖API KEY

问题描述 投票:-1回答:2

我正在使用默认脚本标记加载Google地图,如下所示

<script async defer
      src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
    </script>

有没有办法在页面加载后覆盖此API_KEY?或者甚至创建另一个谷歌地图实例而不影响原始实例?

这是AB测试所必需的,以避免它影响整个网站中使用的原始API_KEY。

可能无法使用iframe方法,因为需要在地图中附加几个标记。

谢谢。

javascript google-maps google-maps-api-3
2个回答
1
投票

如果其他人遇到同样的问题,首先需要重置当前的地图实例

google.maps = undefined;

然后你可以只包括你自己的脚本

var scriptNode = document.createElement('script');
scriptNode.src = GOOGLE_MAPS_URL_WITH_NEW_KEY;
document.head.append(scriptNode);

它以这种方式工作。

注意:如果您有任何其他依赖项,例如Infobox,您可能需要再次添加它们


0
投票

你可以像这样添加编辑你的src属性(jQuery):

$("script").attr("src", YOUR_URL_HERE_WITH_AN_API_KEY_CHANGE);
© www.soinside.com 2019 - 2024. All rights reserved.