Thursday, May 9, 2024
 Popular · Latest · Hot · Upcoming
180
rated 0 times [  181] [ 1]  / answers: 1 / hits: 165482  / 14 Years ago, mon, may 31, 2010, 12:00:00

Trying to simply close an infowindow?



I already have an array of markers, so something like this would be good. Thanks



MyMarkers[i].infowindow.close();

More From » google-maps

 Answers
23

With the v3 API, you can easily close the InfoWindow with the InfoWindow.close() method. You simply need to keep a reference to the InfoWindow object that you are using. Consider the following example, which opens up an InfoWindow and closes it after 5 seconds:



<!DOCTYPE html>
<html>
<head>
<meta http-equiv=content-type content=text/html; charset=UTF-8/>
<title>Google Maps API InfoWindow Demo</title>
<script src=http://maps.google.com/maps/api/js?sensor=false
type=text/javascript></script>
</head>
<body>
<div id=map style=width: 400px; height: 500px;></div>

<script type=text/javascript>
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 4,
center: new google.maps.LatLng(-25.36388, 131.04492),
mapTypeId: google.maps.MapTypeId.ROADMAP
});

var marker = new google.maps.Marker({
position: map.getCenter(),
map: map
});

var infowindow = new google.maps.InfoWindow({
content: 'An InfoWindow'
});

infowindow.open(map, marker);

setTimeout(function () { infowindow.close(); }, 5000);
</script>
</body>
</html>


If you have a separate InfoWindow object for each Marker, you may want to consider adding the InfoWindow object as a property of your Marker objects:



var marker = new google.maps.Marker({
position: map.getCenter(),
map: map
});

marker.infowindow = new google.maps.InfoWindow({
content: 'An InfoWindow'
});


Then you would be able to open and close that InfoWindow as follows:



marker.infowindow.open(map, marker);
marker.infowindow.close();


The same applies if you have an array of markers:



var markers = [];

marker[0] = new google.maps.Marker({
position: map.getCenter(),
map: map
});

marker[0].infowindow = new google.maps.InfoWindow({
content: 'An InfoWindow'
});

// ...

marker[0].infowindow.open(map, marker);
marker[0].infowindow.close();

[#96630] Thursday, May 27, 2010, 14 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
alli

Total Points: 409
Total Questions: 101
Total Answers: 105

Location: The Bahamas
Member since Tue, Apr 27, 2021
3 Years ago
alli questions
Sat, Apr 23, 22, 00:00, 2 Years ago
Mon, May 18, 20, 00:00, 4 Years ago
Tue, Mar 24, 20, 00:00, 4 Years ago
Fri, Jan 24, 20, 00:00, 4 Years ago
;