私は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;
}