我在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
但是不幸的是,我对此一无所知,我什至不知道我应该在哪里定制代码。
如果有人可以帮助我,那就太好了!
谢谢
答案 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= ...”