Google Maps API v3 - infoWindows all have same content
Posted
by paulriedel
on Stack Overflow
See other posts from Stack Overflow
or by paulriedel
Published on 2010-05-22T19:10:24Z
Indexed on
2010/05/23
17:50 UTC
Read the original article
Hit count: 232
JavaScript
|google-maps-api-3
Hello,
I've been having problems with the infoWindows and Google Maps API v3. Initially, I've ran into the problem that everyone else has of closing infoWindows when opening a new one. I thought to have solved the problem by defining "infowindow" beforehand. Now they close when I click on a new marker, but the content is the same. How should I re-structure my code to make sure the content is the right one each time - and only one infoWindow is open at a given time?
Thank you!
Paul
var allLatLngs = new Array();
var last = 0;
var infowindow;
function displayResults(start, count){
if(start === undefined){
start = last;
}
if(count === undefined){
count = 20;
}
jQuery.each(jsresults, function(index, value) {
if(index >= start && index < start+count){
var obj = jQuery.parseJSON(value);
$("#textresults").append(index + ": <strong>" + obj.name + "</strong> " + Math.round(obj.distanz*100)/100 + " km entfernt" + "<br/>");
var myLatlng = new google.maps.LatLng(obj.geo_lat, obj.geo_lon);
allLatLngs.push(myLatlng);
var contentString = '<strong>'+obj.name+'</strong>';
infowindow = new google.maps.InfoWindow({
content: contentString
});
var marker = new google.maps.Marker({
position: myLatlng,
//title:"Hello World!"
});
marker.setMap(map);
google.maps.event.addListener(marker, 'click', function() {
if (infowindow) { infowindow.close(map,marker); }
infowindow.open(map,marker);
});
}
});
last = start+count;
© Stack Overflow or respective owner