gpt4 book ai didi

javascript - initMap 不是使用 google map API 的函数

转载 作者:行者123 更新时间:2023-11-28 14:46:09 25 4
gpt4 key购买 nike

<html>
<script src="https://maps.googleapis.com/maps/api/jskey=YOUR_API_KEY&callback=initMap">
</script>
<body onload="showMap()">
<div id="map"></div>
<script type="text/javascript">
function showMap() {
console.log('at maps');
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: { lat: -34.397, lng: 150.644 }
});
}
</script>
</body>
</html>

我是脚本编写新手。这是我显示 map 的代码。但它会抛出一个 Uncaught Error “initMap 不是一个函数”。有人可以帮忙吗?

最佳答案

重命名showMapinitMap 。 Google 期望调用名为 initMap 的函数因为callback=initMap您在 Maps API 中加载时传递给它们的 URL 参数。但是你没有一个具有该名称的函数,你只有一个名为 showMap 的函数。 .

此外,通过指定回调参数,您无需自己显式调用 initMap 或 showMap。所以删除onload="initMap()"来自<body>标签。

此外,当您加载 Maps API 时,网址中存在拼写错误,而不是:

jskey=YOUR_API_KEY

应该是:

js?key=YOUR_API_KEY

最后,您缺少任何 <head>部分,我添加了该部分,并将该函数移至 <head>所以它应该在回调函数被调用时定义。

所以这应该有效:

<html>
<head>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>

<script type="text/javascript">
function initMap() {
console.log('at maps');
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: { lat: -34.397, lng: 150.644 }
});
}
</script>
</head>
<body>
<div id="map"></div>
</body>
</html>

关于javascript - initMap 不是使用 google map API 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46319676/

25 4 0
文章推荐: jquery - 如何在使用 jquery .show 显示之前将 css 应用于内联列表
文章推荐: css - 如果 mat-form-field 在组件中,则表单布局会中断
文章推荐: ios - 如何从 Swift 中的另一个 View Controller 更改标签的导出?
文章推荐: css - 两个