Reputation: 569
I'm developing an app with Google maps that should display several categories on a map. Now I would like to have the possibility to add markers from several categories and delete them as well if necessary.
I'm using the infobox plugin, which makes it possible to customize the windows infoboxes. You can find it HERE
My question. I want one infobox to close when you click another marker. I don't know how to, though. This is the code I used for the click event on the markers.
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
newMarkers[i].infobox.open(map, this);
map.panTo();
}
})(marker, i));
Anyone that can help me with this?
Upvotes: 1
Views: 1997
Reputation: 4093
The code you're using doesn't close the infobox. The other thing that comes into play is using just one infobox and adding and removing the info from the infobox. (which is what the first five lines of code does). This is the code I'm using.
parkMarker.push(marker);
parkOptions.push(markerOptions);
parkMarker[arrayLoc].infobox = new InfoBox(parkOptions[arrayLoc]);
parkMarker[arrayLoc].infobox.open(map, marker);
parkMarker[arrayLoc].infobox.close();
google.maps.event.addListener(parkMarker[arrayLoc], 'click', (function(marker, arrayLoc){
return function(){
for ( h = 0; h < parkMarker.length; h++ ) {
if(parkMarker[h].infobox){
parkMarker[h].infobox.close();
}
}
marker.infobox.open(map, marker);
}
})(parkMarker[arrayLoc], arrayLoc));
This jsfiddle doesn't work, but it has all the code I use to get this to work: http://jsfiddle.net/UDRmz/1/
Upvotes: 1
Reputation: 28837
Add this jQuery as first line after you open the addListener:
$(".infoBox").fadeOut(300);
Upvotes: 2