google.maps.event.trigger无效。遵循所有相关的先前答案

时间:2016-01-13 08:35:08

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

我正在尝试触发Google地图上标记的点击事件,以便在其上显示infowindow

$li.click(function(e) { 
    var checkmarker = this.id;
    for (var i in markers) {
        if (checkmarker == markers[i].id) {
            google.maps.event.trigger(markers[i], 'click');          
        }
    }       
}); 

$("#addresses ul").append($li);

我添加了一个这样的事件监听器:

(function(marker, data) {
    google.maps.event.addListener(marker, "click", function (e) {
        var contentString = "<p><img width='80' src='http://science-all.com/images/flower/flower-06.jpg'/>" + marker.title + "</p>";
        infoWindow.setContent(contentString);
        infoWindow.open(map, marker);
    });
})(marker, data);

请告诉我这里缺少什么。当我点击li它与标记ID正确比较时,我猜不能传递正确的标记对象。

2 个答案:

答案 0 :(得分:1)

你可以试试这个

var infowindow = new google.maps.InfoWindow({
content: contentString
});

var marker = new google.maps.Marker({
position: uluru,
map: map,
title: 'Example title'
});
marker.addListener('click', function() {
infowindow.open(map, marker);
});

的更多信息

http://forums.asp.net/p/923745/1266105.aspx

答案 1 :(得分:1)

尝试查看地图文档中的Simple click event

我注意到您有不同的设置标记点击事件的方法。使用Marker.addListener语法正确设置它。

在示例中,它应该如下所示

...
marker.addListener('click', function() {
    [do something here]
});
...