javascript - Google Maps V3 - 覆盖 API KEY
问题描述
我正在使用默认脚本标签加载谷歌地图,如下所示
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>
页面加载后有没有办法覆盖这个 API_KEY ?或者甚至在不影响原始实例的情况下创建另一个谷歌地图实例?
这是 AB 测试所必需的,以避免它影响整个网站使用的原始 API_KEY。
iframe 方法可能是不可能的,因为它需要在地图中附加几个标记。
谢谢。
解决方案
如果其他人有同样的问题,首先需要重置当前的地图实例
google.maps = undefined;
然后你可以只包含你自己的脚本
var scriptNode = document.createElement('script');
scriptNode.src = GOOGLE_MAPS_URL_WITH_NEW_KEY;
document.head.append(scriptNode);
它以这种方式工作。
注意:如果您有任何其他依赖项,例如 Infobox,您可能需要再次添加这些依赖项
推荐阅读
- scala - Spark Scala 带分隔符的子字符串
- yii2 - Yii2 语法中的标头
- ssl - 如何为rabbitmq添加密码套件支持?
- javascript - 剩余 -100% 时检查 div 位置
- regex - Python3 正则表达式不适用于脚本,但适用于 pythex.org
- javascript - JS React:this.x is not a function 的错误,即使 this.x 函数已绑定
- javascript - 创建一个包含 20 个随机数的数组
- java - android CallLog中subscription_id的含义
- javascript - Uncaught In promise Dom 异常
- reactjs - 为什么反应组件状态没有更新