This is a common issue. A good explanation of what is happening can be
found here: 
http://groups.google.com/group/google-maps-js-api-v3/browse_thread/thread/f40390e4a6ba89e9/25a246d92f93e9ea

Try this code snippet. You'll also need to place it inside your loop:

google.maps.event.addListener(marker, 'click', (function(thisMarker) {
     return function() { infowindow.open(map, thisMarker); };
})(marker));

Chad Killingsworth

On May 19, 9:22 pm, Michael Harris <[email protected]>
wrote:
> Ok, I'll admit I'm nowhere near the best programmer on the planet -
> and I'm used to the answer staring me right in the face but not making
> sense of it.
>
> * Problem
>
> I need to display multiple markers on a map, each with their own
> infowindow. I have created the individual markers without a problem,
> but don't know how to create the infowindows for each.
>
> * Steps so far
>
> I am generating a map using the V3 API within an ASP-based website,
> with markers being created from a set of DB records. The markers are
> created by looping through a rs and defining a marker() with the
> relevant variables:
>
>                 var myLatlng = new google.maps.LatLng(lat,long);
>                 var marker = new google.maps.Marker({
>                         map: map,
>                         position: myLatlng,
>                         title: 'locationname',
>                         icon: 
> 'http://google-maps-icons.googlecode.com/files/park.png'
>                 });
>
> This is creating all the relevant markers in their correct locations.
>
> What I need to do now, and am not sure of how to achieve is give each
> of them their own unique infowindow which I can use to display
> information and links relevant to that marker.
>
> * Source
>
> <script type="text/javascript" src="http://maps.google.com/maps/api/js?
> sensor=false"></script>
> <script language="javascript">
>   $(document).ready(function() {
>
>         //Google Maps
>     var myOptions = {
>       zoom: 5,
>       center: new google.maps.LatLng(-26.66, 122.25),
>                         mapTypeControl: false,
>       mapTypeId: google.maps.MapTypeId.ROADMAP,
>                         navigationControl: true,
>                         navigationControlOptions: {
>                           style: google.maps.NavigationControlStyle.SMALL
>                         }
>
>     }
>
>     var map = new
> google.maps.Map(document.getElementById("map_canvas"), myOptions);
>
>                 <!-- While locations_haslatlong not BOF.EOF -->
>         <% While ((Repeat1__numRows <> 0) AND (NOT
> locations_haslatlong.EOF)) %>
>                 var myLatlng = new google.maps.LatLng(<
> %=(locations_haslatlong.Fields.Item("llat").Value)%>,<
> %=(locations_haslatlong.Fields.Item("llong").Value)%>);
>                 var marker = new google.maps.Marker({
>                         map: map,
>                         position: myLatlng,
>                         title: 
> '<%=(locations_haslatlong.Fields.Item("ldescription").Value)
> %>',
>                         icon: 
> 'http://google-maps-icons.googlecode.com/files/park.png',
>                         clickable: true,
>                 });
>                 <%
>                 Repeat1__index=Repeat1__index+1
>                 Repeat1__numRows=Repeat1__numRows-1
>                 locations_haslatlong.MoveNext()
>                 Wend
>                 %>
>         <!-- End While locations_haslatlong not BOF.EOF -->
>
>                 google.maps.event.addListener(marker, 'click', function() {
>                 infowindow.open(map,marker);
>                 });
>
>                 google.maps.event.addListener(marker, 'dblclick', function() {
>                 map.setZoom(14);
>                 });
>
>   });
> </script>
>
> --
> 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 
> athttp://groups.google.com/group/google-maps-js-api-v3?hl=en.

-- 
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