尝试将addListener添加到多个标记时未定义的函数错误

时间:2014-05-18 13:37:15

标签: javascript jquery google-maps google-maps-api-3

我正在构建一个显示谷歌地图的应用程序,并使用从Json文件中检索的一组标记填充它。这很好用。它没有抛出错误,一切都很好。然后,我想在点击标记时触发InfoWindow,因此我按照google maps api页面上的代码进行操作,但是当我添加addListener函数时,标记不会出现在地图上(就好像绘制它们的功能不起作用)。在Chromes控制台中,我收到以下错误:

Uncaught TypeError: undefined is not a function mapapp.js:65

这是出现问题的部分:

function drawMarkers(map){
    var myMarker;
    $.each(markers, function(index, item){
        myMarker = new google.maps.Marker({
            position: new google.maps.LatLng(item.latitude, item.longitude),
            map: map,
            animation: google.maps.Animation.DROP,
            title: item.title
        });

        /*This is the error source. Line 65*/
        google.maps.addListener(myMarker, 'click', function(){
            alert("Clicked Marker");
        });
    });
}

markers数组是一个全局变量,填充从我的网页中提取的json数据。就像我说的那样,整个过程没有监听器代码,但是当添加addListener代码时,它无法在地图上绘制标记。

导致错误的这行代码是什么?

1 个答案:

答案 0 :(得分:2)

错字:

google.maps.addListener()

应该是

google.maps.event.addListener()