在ejs中的地图api“谷歌未定义”错误

为什么在使用Maps API时出现“google未定义”的错误? 我试图删除脚本标记中的asynchronous像在其他一些职位,但也没有工作。 我仍然在学习EJS的语法,所以也许是这样的。

它指向第二个for循环开始制作标记的那一行。

<body> <% console.log(values)%> <% for (i=0; i<values.length; i++) { %> <% var o = JSON.parse(values[i])%> <% var lat = o.latitude%> <% var long = o.longitude%> <% var desc = o.description%> <% var name = o.name%> <li><%=o.latitude%></li> <% } %> <div id="map"></div> <script> function initMap() { var map = new google.maps.Map(document.getElementById('map'), { zoom: 10, center: new google.maps.LatLng(39.952335, -75.163789) }); <% for (i=0; i<values.length; i++) { var o = JSON.parse(values[i]) var lat = o.latitude var long = o.longitude var desc = o.description var name = o.name var marker = new google.maps.Marker({ position: new google.maps.LatLng(lat,long), map: map }); } %> } </script> <script src="https://maps.googleapis.com/maps/api/js?key=(xxxx)&callback=initMap"> </script>