【问题标题】:Google Maps V3 async gives error谷歌地图 V3 异步给出错误
【发布时间】:2013-06-27 12:49:06
【问题描述】:

对于我正在尝试异步加载 Google Maps 脚本的网站,因为它会使某些浏览器 (Firefox) 在从 Google 加载所有脚本之前忽略滚动。

我查看了谷歌开发者文档并使用了他们的脚本。 https://developers.google.com/maps/documentation/javascript/examples/map-simple-async 只要您将它放在 index.html 中的 <script> 标记内,就可以完美运行。

但是当我将此代码放在我的 main.js 文件中时,它不再工作了。 示例:http://jsfiddle.net/693xK/

然后我在 jsfiddle 上找到了这个似乎有效的示例: http://jsfiddle.net/doktormolle/7cu2F/ 但是在这里同样的问题。当我把它放在我的 main.js 文件中时,谷歌地图没有出现。一切都是全球性的。我收到以下错误,但我不明白该怎么做。我用谷歌搜索了错误消息,但没有任何运气。

TypeError: window.initialize is not a function

【问题讨论】:

  • 你是在 main.js 之前调用谷歌地图脚本吗?
  • @paul-ngc 知道了,检查一下我的答案。

标签: javascript google-maps


【解决方案1】:

您缺少将宽度和高度添加到您的#map-canvas。我还检查了您的小提琴,因为您使用的是window.onload = loadScript;,所以将其包裹在头部(左角,在框架和扩展下

#map-canvas{
    width:500px;
    height:500px;
}

检查这个updated JSFiddle

【讨论】:

  • 您好 user1671639,感谢您的回答。当我使用 onload 时,我应该在头部包含脚本吗?我不想那样做。这是一个链接,其中包含一个如何构建网站的真实示例。包含在错误中。 test link
  • @paul_ngc 删除 main.js 中的 $(function(){ jquery 附件。这会起作用的。
  • 是的,我通过删除它进行了尝试。然后它可以工作:) 但是为什么它不能与 ''$(function(){ 一起工作?试图从中学习,因为我希望它在函数内部运行并随时调用它。但是当我这样做时以下内容:var obj = { gMaps: function() { function initialize() { ....... } window.onload = loadScript; } } obj.gMaps(); 它再次给了我同样的警报。
猜你喜欢
  • 1970-01-01
  • 2011-09-14
  • 1970-01-01
  • 1970-01-01
  • 2011-09-14
  • 1970-01-01
  • 2013-07-04
  • 2016-03-31
  • 1970-01-01
相关资源
最近更新 更多