【问题标题】:Unable to load google maps on laravel application无法在 laravel 应用程序上加载谷歌地图
【发布时间】:2019-01-05 19:24:27
【问题描述】:

我正在尝试在 Laravel 应用程序上加载 google maps js API,但我不断收到错误消息“initMap 不是函数”。

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

app.blade.php

资产/js/ap/js

【问题讨论】:

    标签: javascript laravel api google-maps laravel-mix


    【解决方案1】:

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

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

    在 googleMap js 文件之后

    (编辑)这可能是一个异步问题,异步脚本可以按任何顺序运行,无论它们在 HTML 中出现的顺序如何。

    如果您想保持这种行为,您可以将 init() 调用包装在 window.onload 回调中,并从谷歌地图脚本中删除 &callback=initmap

    window.onload = () => {
        init()
    }
    

    另一种解决方案是将 googlemap 脚本放在 ap.js 之前,并从 ap.js 脚本标签中删除 async defer 属性

    希望这能解决您的问题

    【讨论】:

    • 我的猜测:这可能是一个异步问题,您应该尝试以下方法之一:删除 ap.js 的 async defer 关键字并将其放在 google api 脚本之后(就像 google map api docs ) 或从您的 google api 脚本中删除 &callback=initmap 并将您的 init 调用包装在 window.onload 回调中
    • 我尝试了window.onload=initMap(),效果很好,但是出现了报错。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多