无法在 laravel 应用程序上加载 google 地图

Unable to load google maps on laravel application

我正在尝试在 Laravel 应用程序上加载 google 地图 js API,但我一直收到错误 'initMap is not a function'。

我认为这可能是与 initMap 函数在全局范围内的可见性有关的问题。 错误:

app.blade.php

asset/js/ap/js

这似乎很明显,但我认为您应该尝试加载

<script>{{asset(js/app.js)}}</script>

在google地图js文件之后

(edit) 这可能是一个异步问题,异步脚本可能 运行 以任何顺序排列,无论它们在 HTML.

中出现的顺序如何

如果您想保持这种行为,您可以将 init() 调用包装在 window.onload 回调中,并从 google 地图脚本

中删除 &callback=initmap
window.onload = () => {
    init()
}

另一种解决方案是将 googlemap 脚本放在 ap.js 之前,并从 ap.js 脚本标签

中删除 async defer 属性

希望这能解决您的问题