未捕获类型错误 this.set 不是函数(映射 javascript api)
Uncaught type error this.set is not a function (maps javascript api)
大家好,我正在尝试将 google 地图添加到我的网站,我正在使用地图 javascript api 获取下面的地图我创建了一个最小的可复制示例,因为那里html(网站不是实时的,我在 vscode 上使用实时服务器扩展)我确保在 google 的仪表板上有一个与项目相关联的计费帐户,没有 api 限制并且 api 实际上是激活的而不是禁用的,在我将脚本放入 'main-container' div 之前移动它认为它在地图之前被调用div 正在渲染,但仍然没有解决问题,我是一个 javascript 菜鸟,所以如果有人已经回答了这个问题,我很乐意删除这个问题,但我不确定该怎么做
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="Styles.css">
<title>LeadFinder</title>
</head>
<body>
<div class="main">
<div class="main__container">
<div id = "map"></div>
<script src="https://maps.googleapis.com/maps/api/js?key=XXXXXXXXXXXX&callback=initMap" async></script>
</div>
</div>
<script>
function initMap(){
var location = new google.maps.LatLng(-25.363, 133.522);
var map = google.maps.Map(document.getElementById('map'), {
zoom: 4,
center: location
});
var marker = new google.maps.Marker({
position: location,
map: map
})
}
</script>
</body>
</html>
这是 'map' div 和主要 main__container
的 css
.main {
background-color: #454076;
}
.main__container {
display: grid;
grid-template-columns: 1fr 1fr;
align-items: center;
justify-self: center;
margin: 0 auto;
height: 90vh;
background-color: #454076;
z-index: 1;
width: 100%;
max-width: 1300px;
padding: 0 50px;
}
#map{
height: 100%;
width: 100%;
grid-column: span 2;
grid-row: span 2;
}
当我使用 google 开发工具进行检查时,出现此错误
Uncaught (in promise) TypeError: this.set is not a function
at Object.tj [as Map] (jskey=AIzaSyBDIjsf8xmFIVwz1htJz5jccP_t3Q3SzYA&callback=initMap:179:423)
at initMap (LeadFinder.html:104:35)
编辑:at initMap 指向这一行
var map = google.maps.Map(document.getElementById('map')
您在 var map = google.maps.Map(document.getElementById('map')
中错过了 new
它应该是
var map = new google.maps.Map(document.getElementById('map')
大家好,我正在尝试将 google 地图添加到我的网站,我正在使用地图 javascript api 获取下面的地图我创建了一个最小的可复制示例,因为那里html(网站不是实时的,我在 vscode 上使用实时服务器扩展)我确保在 google 的仪表板上有一个与项目相关联的计费帐户,没有 api 限制并且 api 实际上是激活的而不是禁用的,在我将脚本放入 'main-container' div 之前移动它认为它在地图之前被调用div 正在渲染,但仍然没有解决问题,我是一个 javascript 菜鸟,所以如果有人已经回答了这个问题,我很乐意删除这个问题,但我不确定该怎么做
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="Styles.css">
<title>LeadFinder</title>
</head>
<body>
<div class="main">
<div class="main__container">
<div id = "map"></div>
<script src="https://maps.googleapis.com/maps/api/js?key=XXXXXXXXXXXX&callback=initMap" async></script>
</div>
</div>
<script>
function initMap(){
var location = new google.maps.LatLng(-25.363, 133.522);
var map = google.maps.Map(document.getElementById('map'), {
zoom: 4,
center: location
});
var marker = new google.maps.Marker({
position: location,
map: map
})
}
</script>
</body>
</html>
这是 'map' div 和主要 main__container
的 css.main {
background-color: #454076;
}
.main__container {
display: grid;
grid-template-columns: 1fr 1fr;
align-items: center;
justify-self: center;
margin: 0 auto;
height: 90vh;
background-color: #454076;
z-index: 1;
width: 100%;
max-width: 1300px;
padding: 0 50px;
}
#map{
height: 100%;
width: 100%;
grid-column: span 2;
grid-row: span 2;
}
当我使用 google 开发工具进行检查时,出现此错误
Uncaught (in promise) TypeError: this.set is not a function
at Object.tj [as Map] (jskey=AIzaSyBDIjsf8xmFIVwz1htJz5jccP_t3Q3SzYA&callback=initMap:179:423)
at initMap (LeadFinder.html:104:35)
编辑:at initMap 指向这一行
var map = google.maps.Map(document.getElementById('map')
您在 var map = google.maps.Map(document.getElementById('map')
中错过了 new
它应该是
var map = new google.maps.Map(document.getElementById('map')