我正在使用默认的脚本标签加载Google Maps,如下所示:
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>
加载页面后,是否可以覆盖此API_KEY?甚至在不影响原始实例的情况下创建Google地图的另一个实例?
AB测试需要这样做,以免影响整个网站使用的原始API_KEY。
iframe方法可能是不可能的,因为需要在地图中附加几个标记。
谢谢。
答案 0 :(得分:0)
您可以像这样(jQuery)添加编辑src属性:
$("script").attr("src", YOUR_URL_HERE_WITH_AN_API_KEY_CHANGE);
答案 1 :(得分:0)
如果其他人遇到相同的问题,则首先需要重置当前地图实例
google.maps = undefined;
然后,您可以仅包含自己的脚本
var scriptNode = document.createElement('script');
scriptNode.src = GOOGLE_MAPS_URL_WITH_NEW_KEY;
document.head.append(scriptNode);
它以这种方式工作。
注意:如果您还有其他依赖项,例如信息框,则可能需要再次添加这些依赖项