无法在 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 应用程序上加载谷歌地图的主要内容,如果未能解决你的问题,请参考以下文章

IOS 错误:谷歌地图无法在 iPhone 上加载地图

首次加载android后如何禁用谷歌地图当前位置跟踪

无法加载安卓谷歌地图 V2

保存要离线加载的谷歌地图图像

iphone上禁用wifi时,Phonegap Sencha应用谷歌地图API未加载

谷歌地图应用无法在移动设备上打开网页链接