谷歌地图错误“'addDomListener'未定义”

时间:2013-07-04 01:23:16

标签: javascript api google-maps mootools

我觉得这是一个相当简单的代码,而在iframe中运行的代码被视为来自Google Map的文档的示例代码,因此它与iframe有关,但我不确定。< / p>

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

Uncaught TypeError: Cannot call method 'addDomListener' of undefined

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

4 个答案:

答案 0 :(得分:4)

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

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

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

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

答案 1 :(得分:1)

我只是简单一下,但是您在重新定义地图时出现错误:

var Map = function (opts) {

这是否需要称为Map?也许是myMap。

答案 2 :(得分: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>

我希望能节省宝贵的时间。

答案 3 :(得分:0)

事件在函数之前生成且无法识别, 你改变了这段代码:

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

代码:

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