无法在 laravel 应用程序上加载谷歌地图
Posted
技术标签:
【中文标题】无法在 laravel 应用程序上加载谷歌地图【英文标题】:Unable to load google maps on laravel application 【发布时间】:2019-01-05 19:24:27 【问题描述】:我正在尝试在 Laravel 应用程序上加载 google maps js API,但我不断收到错误消息“initMap 不是函数”。
我认为这可能与 initMap 函数在全局范围内的可见性有关。 错误:
app.blade.php
资产/js/ap/js
【问题讨论】:
【参考方案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(),效果很好,但是出现了报错。以上是关于无法在 laravel 应用程序上加载谷歌地图的主要内容,如果未能解决你的问题,请参考以下文章