未捕获的TypeError:window.Map不是构造函数

时间:2018-12-04 09:20:44

标签: google-maps typeerror

我在https://haut-poitou.fr/categories/遇到了问题 几天以来,我遇到了一个错误:

map.js:2 Uncaught TypeError: window.Map is not a constructor
    at Xr (map.js:2)
    at bs.setZIndex (map.js:54)
    at ds.He (map.js:57)
    at _.pl.Bb (map.js:60)
    at Ot (map.js:44)
    at map.js:45

它出现在每个页面上,其中有地图,然后重复,有时最多会出现50个或更多错误。该地图似乎以某种方式进行了地理位置定位,但是背景丢失了,只出现了图钉。
我试图停用/重新激活所有插件,wordpress版本已更新,但对这个问题没有影响。
我在这里和那里找到了一些可以解决问题的主题,例如:
window.Map is not a constructor in Google Maps API v3 但是不幸的是,我对此一无所知,我什至不知道我应该在哪里定制代码。
如果有人可以帮助我,那就太好了!
谢谢

3 个答案:

答案 0 :(得分:2)

这是由于发布了新版本的地图引起的。现在回到v3.34,但这不是永久性的修复,因为v.3.34最终将不可用。看看是否可以在任何可以重命名的地方使用一个名为“ Map”的变量,以使其与它们的“ Map”不冲突。

答案 1 :(得分:1)

MrSethT提供了更完整的解决方案。 将版本号添加回3.34确实可以,但是如前所述,当3.34淘汰时,它将失败。

这是我们的工作脚本,其中变量 map 更改为 varmap

<script>
// Initialize and add the map
function initMap() {
  // The location of mapTarget
  var mapTarget = {lat: 9.941625, lng: -85.660698};
  // The map, centered at mapTarget
  var varmap = new google.maps.Map(
      document.getElementById('map'), {zoom: 16, center: mapTarget});

  var contentString = 
      '<h3 id="firstHeading" class="firstHeading">Le Cabanon</h3>'+
      'W8RQ+JP Playa Guiones,<br />Guanacaste Province, Costa Rica';

  var infowindow = new google.maps.InfoWindow({
    content: contentString
  });

  var marker = new google.maps.Marker({
    position: mapTarget,
    map: varmap,
    animation: google.maps.Animation.DROP,
    title: 'Le Cabanon'
  });
  marker.addListener('click', function() {
    infowindow.open(map, marker);
  });
}
 </script>

答案 2 :(得分:0)

我认为问题是Google地图版本。 我通过更改来修复 “ https://maps.googleapis.com/maps/api/js?&key= ...” 至 “ https://maps.googleapis.com/maps/api/js?v=3.34&key= ...”