3

我觉得这是一段相当简单的代码,在 iframe 中运行的代码被视为谷歌地图文档中的示例代码,所以它与 iframe 有关,但我不确定。

简而言之,我正在创建一个 iframe,将 Google Maps JS API 放在那里,然后将一个函数加载到其中,其中包含他们文档中的地图示例。我明白了

Uncaught TypeError: Cannot call method 'addDomListener' of undefined

这是 JSBin 链接:http: //jsbin.com/ucovaj/1

4

4 回答 4

4

看看控制台会告诉你这样的事情:

从异步加载的外部脚本调用 document.write() 被忽略

您不能异步加载 default-maps-script,因为它利用document.write()了文档加载完成后无法使用的内容。

在这种情况下,您必须通过向 URL 添加回调参数来加载特殊版本(有关详细信息,请参阅https://developers.google.com/maps/documentation/javascript/tutorial#Loading_the_Maps_API

于 2013-07-04T02:48:16.127 回答
1

我只看了一眼,但您在此处重新定义Map时出现错误:

var Map = function (opts) {

这需要叫Map吗?也许我的地图。

于 2013-07-04T01:31:14.157 回答
0

我在使用 Google Maps JavaScript API v3 时遇到了类似的错误,它是Hello World示例,正如教程页面中所说,我添加了这样的 api:

<script type="text/javascript"
  src="https://maps.googleapis.com/maps/api/js?key={API_KEY}&sensor=SET_TO_TRUE_OR_FALSE">
</script>

但它给了我这篇文章标题中的信息,经过一番调查,我发现,在工作示例中,在 api 的 url 的查询字符串部分中传递了另一个参数,它是 v 版本,没有提到这是必需的,但添加v=3.exp使它起作用。

<script type="text/javascript"
    src="https://maps.googleapis.com/maps/api/js?v=3.exp&key=xxxxxxxxx&sensor=false">
</script>

我希望它可以节省某人的宝贵时间。

于 2014-01-23T19:46:18.123 回答
0

该事件在函数之前生成并且它无法识别,您更改此代码:

$(document).ready(function() {      
google.maps.event.addDomListener(window, 'load', initialize);
});

对于此代码:

$(window).load(function(){
google.maps.event.addDomListener(window, 'load', initialize); 
}); 
于 2014-02-07T12:53:22.337 回答