信息窗口不会在第一次点击时打开,而是在第二次点击事件时显示

时间:2012-11-23 10:35:09

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

我正在使用波纹管代码在我的地图中打开一个信息窗

 //populate the  infowindow to defined marker map point
 function assignmarkerclick(marker1, index, message) {
     google.maps.event.addListener(marker1, 'click', function () {
         if (!infowindow) {
             infowindow = new google.maps.InfoWindow();
         }
         infowindow.setContent(message);
         infowindow.open(map, marker1);
     });
 }

//显示指定标记的信息窗口

function showMarker(index) {

    new google.maps.event.trigger(marker[index], 'click');
}

所以当我点击“显示点”(假设我正在调用showMarker()javascript函数“显示点链接”点击事件)链接时,第一次信息窗口不会打开,当我点击“显示点”链接第二次信息窗口将打开, 以前有没有人有过这个bug?有人可以帮我解决这个问题吗?

感谢

1 个答案:

答案 0 :(得分:3)

在函数外部创建infowindow对象作为全局变量:

// global var
var infowindow = new google.maps.InfoWindow();

 function assignmarkerclick(marker1, index, message) {
     google.maps.event.addListener(marker1, 'click', function () {
         infowindow.setContent(message);
         infowindow.open(map, marker1);
     });
 }