我正在尝试触发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正确比较时,我猜不能传递正确的标记对象。
答案 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);
});
的更多信息
答案 1 :(得分:1)
尝试查看地图文档中的Simple click event。
我注意到您有不同的设置标记点击事件的方法。使用Marker.addListener语法正确设置它。
在示例中,它应该如下所示
...
marker.addListener('click', function() {
[do something here]
});
...