gpt4 book ai didi

javascript - 集成 Maps API 时为 "google not defined"

转载 作者:行者123 更新时间:2023-11-30 11:46:26 26 4
gpt4 key购买 nike

我正在尝试将 Google map 集成到我的网络应用程序中,但我的代码给出了错误“google not defined”。

有人能帮我弄清楚吗?提前致谢。

</head><script src="http://maps.google.com/maps/api/js?key=AIzaSyAdXcTNKKaje1AtGQq32SwOMJ5Um-EE5GU " async="" defer="defer" type="text/javascript"></script>

<body> <div id="map" style="width: 400px; height: 300px;"></div><script type="text/javascript">
function LoadGoogle()
{ if(typeof google != 'undefined' && google && google.load)
{
var address = 'UK';

var map = new google.maps.Map(document.getElementById('map'), {
mapTypeId: google.maps.MapTypeId.TERRAIN,
zoom: 6
});

var geocoder = new google.maps.Geocoder();

geocoder.geocode({
'address': address
},
function(results, status) {
if(status == google.maps.GeocoderStatus.OK) {
new google.maps.Marker({
position: results[0].geometry.location,
map: map
});
map.setCenter(results[0].geometry.location);
}
});
}
else
{
setTimeout(LoadGoogle, 30);
}
}
LoadGoogle(); </script></body>

也试过了,还是报同样的错误。

var map = new google.maps.Map(document.getElementById('map'), {
mapTypeId: google.maps.MapTypeId.TERRAIN,
zoom: 6
});

var geocoder = new google.maps.Geocoder();

geocoder.geocode({
'address': address
},
function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
new google.maps.Marker({
position: results[0].geometry.location,
map: map
});
map.setCenter(results[0].geometry.location);
}
});

最佳答案

您正在推迟 Google 库的包含,所以当 LoadGoogle()运行时,库不一定已加载。

2 种方法:

  • 为了测试,从包含中删除 async/defer。

  • 对于生产环境,请确保您的自定义脚本在其他所有内容都已加载后运行。执行此操作的方法是使用 google 提供的回调,因此脚本会在加载时调用您的 LoadGoogle 函数。

<script src="http://maps.google.com/maps/api/js?key=AIzaSyAdXcTNKKaje1AtGQq32SwOMJ5Um-EE5GU&callback=LoadGoogle" async="async" defer="defer" type="text/javascript"></script>

然后在您的脚本中,不要调用 LoadGoogle()

Reference

关于javascript - 集成 Maps API 时为 "google not defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40858802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com