這個時候,我會去切中要害:移動谷歌地圖API代碼,單獨的文件+ jQuery的
HTML:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="code.js"></script>
</head>
<body>
<div id="map"></div>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=*snip*&callback=initMap">
</script>
</body>
</html>
Code.js:
$(document).ready(function() {
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {
lat: -34.397,
lng: 150.644
},
zoom: 10
});
}
});
結果:
Uncaught TypeError: window.initMap is not a function.
提示?
而且,不知道這部分:
<script async defer src="https://maps.googleapis.com/maps/api/js?key=*snip*&callback=initMap">
可以移動到同code.js文件。
這是否意味着解決方案是從地圖腳本中移除'async'和'defer'? – waffl
請詳細說明「缺少一些東西」可能是指 – AlleyOOP
我更新了我的答案。感謝提醒我這個,所以我可以更新我的答案;) – codegaze