Click handler should always be created in a separate function.
Otherwise you will face a scope problem (click triggering in wrong
scope). Mike Williams explains it here http://econym.org.uk/gmap/basic1.htm
That is in v2 syntax but it is still good reading.

Create a single InfoWindow instance and a function that creates the
'click' handler for each circle:

var infoBubble = new google.maps.InfoWindow();
function makeBubbleHandler(circle, city){
   var iwOptions = {
     content: citymap[city].story,
     position: citymap[city].center
    }
  google.maps.event.addListener(circle, 'click', function(){
    infoBubble.setOptions(iwOptions);
    infoBubble.open(map);
  });
}

The code assumes that you have the content in 'story' property of each
cityMap[city] object.

Then call the function in your for-loop:

cityCircle = new google.maps.Circle(populationOptions);
makeBubbleHandler(cityCircle, city);

-- 
You received this message because you are subscribed to the Google Groups 
"Google Maps JavaScript API v3" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-maps-js-api-v3?hl=en.

Reply via email to