javascript - 尝试向多个标记添加监听器时出现未定义函数错误

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

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

未捕获的类型错误:undefined 不是函数 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");
        });
    });
}

标记数组是一个全局变量,它填充了从我的网页中提取的 json 数据。就像我说的,整个事情在没有监听器代码的情况下也能正常工作,但是当添加 addListener 代码时,它无法在 map 上绘制标记。

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

最佳答案

错别字:

google.maps.addListener()

应该是

google.maps.event.addListener()

关于javascript - 尝试向多个标记添加监听器时出现未定义函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23722511/

相关文章:

android - 谷歌地图突然不能用了

javascript - 来自 fiddle 的代码在本地不起作用

javascript - 打开 iframe 并折叠整个页面

android - 实现谷歌地图 API android

javascript - Node.js 错误 : EISDIR, 打开错误

jquery - 用 jQuery 编写 HTML

android - 将 "google map"的查看规范设置为特定区域

javascript - ECMA6 : Experimental JS flag not working on Chrome? 导入不起作用:)

javascript - 如何将一个 JavaScript 函数回调为多个函数?

javascript - 如何根据文本框输入动态填充选择框