由于Google Maps SDK脚本加载了同步(由于
async属性),因此
callbackURL中存在参数。
要解决该问题,您需要了解
asyncGoogle SDK中的机制
async属性可让浏览器在加载Maps Javascript API时呈现网站的其余部分。API准备就绪后,它将调用使用callback参数指定的函数。
https://developers.google.com/maps/documentation/javascript/tutorial#Loading_the_Maps_API
因此,解决方案是加载脚本同步:
在加载Maps Javascript API的脚本代码中,可以省略async属性和callback参数。这将导致在下载API之前,API的加载将被阻止。
这可能会减慢您的页面加载速度。但这意味着您可以假定已加载API来编写后续脚本标签。
https://developers.google.com/maps/documentation/javascript/tutorial#sync
- 您可以通过
async
这种方式删除属性,页面将停止运行,直到脚本完成下载并在页面上运行。因此,当浏览器访问您的代码时,所有SDK对象都将可用。 - 现在,由于没有调用该
initMap
函数的代码(请记住:谁调用了它,是仅在async
模式下调用它的是sdk脚本),因此您需要自己调用它。因此,只需在控制器末尾调用它即可。



