我正在构建一个显示谷歌地图并使用从 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/