通过AJAX加载谷歌地图API,控制台错误

Loading Google Maps API via AJAX, console error

本文关键字:控制台 错误 API 谷歌地图 AJAX 加载 通过      更新时间:2023-09-26

我正在使用jquery/javascript,ajax和php构建一个完全动态的网站。

当我单击导航链接时,浏览器会使用 ajax 打开该页面。

所以基本上所有页面都加载在同一索引.php中。

如果我转到"位置"选项卡,其中有谷歌地图,它将动态加载谷歌地图脚本(将脚本标签添加到正文(。

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp&amp;callback=initialize"></script>

此脚本由上一个脚本自动加载

<script src="https://maps.gstatic.com/maps-api-v3/api/js/19/1/intl/hr_ALL/main.js"></script>

当我离开"位置"页面时,我会检查脚本是否存在并删除它们。

如果我返回"位置"而不刷新页面,我认为地图会有一个干净的开始,但我在控制台中收到此错误:

您在此页面上多次包含 Google 地图 API。 这可能会导致意外错误。

即使之前删除了脚本,并且地图和内容更改为其他内容,我也会收到该错误。

既然我知道我只有一次地图实例,我应该忽略它吗?

或者它确实对旧地图有某种参考,删除这两个脚本是不够的。

感谢您提供任何信息!

删除脚本元素不会删除由这些脚本创建的对象(基本上它不会有任何影响(。

检查地图 API 是否已加载:

<script>
jQuery(function(){
if(!window.google||!window.google.maps){
  var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'https://maps.googleapis.com/maps/api/js?v=3&' +
        'callback=initialize';
    document.body.appendChild(script);
}
else{
  initialize();
}});
</script>