2011-02-03 15 views
1

私はgoogle maps api v3を使用しています。この機能をcalingことにより、マーカーを追加イム:Googleマップで閉鎖していない情報ウィンドウ

function createMarker(posn, title, html) { 
       var marker = new google.maps.Marker ({position:posn, title: title, draggable: false}); 
       var infowindow = new google.maps.InfoWindow({content: html}); 
       google.maps.event.addListener(marker, "click", function() { 
        infowindow.open(map,marker); 
       }); 
       return marker; 
      } 

それは大丈夫動作しますが、唯一の問題は、私は、ウィンドウが開き画鋲をクリックしたときですが、私は別のプッシュピンをクリックすると、両方の情報ウィンドウを閉じていない情報ウィンドウウィンドウ最初の画鋲が表示されます。あなたは配列にあなたの情報ウィンドウを追跡し、イベントが発生しそう

//define a global array 
infoWindows = new Array(); 

//..do your stuff 

function createMarker(posn, title, html) { 
     var marker = new google.maps.Marker ({position:posn, title: title, draggable: false}); 
     var infowindow = new google.maps.InfoWindow({content: html}); 
     //add this infowindow to an array 
     infoWindows.push(infowindow); 
     google.maps.event.addListener(marker, "click", function() { 
     //go through the array and close all open info windows 
     for (i=0;i<infoWindows.length;i++) { 
      infoWindows[i].setMap(null); 
     } 
     //open current info window 
     infowindow.open(map,marker); 
     }); 
     return marker; 
} 

答えて

0

それはだった:

function createMarker(posn, title, html) { 
       var marker = new google.maps.Marker ({position:posn, title: title, draggable: false}); 

       google.maps.event.addListener(marker, "click", function() { 
        infowindow.open(map,marker); 
       }); 
       infowindow = new google.maps.InfoWindow({content: html}); 
       return marker; 
      } 

これは動作し、ウィンドウを閉じる別のピンをクリックするが、「X」閉じるボタンが動作しません...

0

あなたの例を使用して、クリックはあなたがこれを解決した場合に知っているが、私がやった方法はいけないときprogrammaticalyそれらを閉じる必要があり

関連する問題