title: Multiple polylines and infowindows with Google Maps V3
body: <p>I have a map with multiple polylines and would like to open a line-specific-infowindow when clicking the line.</p>
  
  <p>So far my code only shows the content of the last iteration. </p>
  
  <p>I found two very nice examples of what I want but after hours of trying I am still no further.<br>
  Example 1: <a href="http://srsz750.appspot.com/api3/polylines-multiple.html" rel="noreferrer">http://srsz750.appspot.com/api3/polylines-multiple.html</a><br>
  Example 2: <a href="http://www.geocodezip.com/v3_GenericMapBrowser.asp?filename=flights090414.xml" rel="noreferrer">http://www.geocodezip.com/v3_GenericMapBrowser.asp?filename=flights090414.xml</a></p>
  
  <p>So your are my last shot :-S</p>
  
  <p>Here is my code that shows only the content of the last iteration:</p>
  
  <pre><code>for (var i = 0; i &lt; locations.length; i++) {
  var route = locations[i]; // locations is an array of route-arrays.   
   //route is an array with details. route[0] contains the description.
  
  var imageStart = 'img/rijder.png';   
  var polyOptions = {
       strokeColor: '#0000FF',
           strokeOpacity: 1.0,
       strokeWeight: 3
      }       
  
    poly = new google.maps.Polyline(polyOptions, info);   
    var path = poly.getPath(); 
  
   //line text
  
   var info = route[0]; 
   google.maps.event.addListener(poly, 'click', function(event) {
      infowindow.setContent(info);
      infowindow.position = event.latLng;
  infowindow.open(map);
      }); 
  
  //startmarker   
  var startLatLng = new google.maps.LatLng(route[1], route[2]);
  var smarker = new google.maps.Marker({
      position: startLatLng,
      map: map,
      icon: imageStart,
      title: route[7],
      html: route[0]     
  });
  path.push(startLatLng);
  //starttext
  
   google.maps.event.addListener(smarker, "click", function () {
          infowindow.setContent(this.html);
          infowindow.open(map, this);
          }); 
  
   //endmarker
  var endLatLng = new google.maps.LatLng(route[4], route[5]);
  var emarker = new google.maps.Marker({
      position: endLatLng,
      map: map,
      icon: imageEnd,
      title: route[8],
      html: route[3]     
  });
  path.push(endLatLng);
  //endtext
  
   google.maps.event.addListener(emarker, "click", function () {
              infowindow.setContent(this.html);
              infowindow.open(map, this);
          });
  //close line and put on the map
  poly.setMap(map); 
   } 
  }
  </code></pre>
  
  <p>And here is the code I would expect to work but all lines disappeared (only the relevant code, I also added a mouseover function):</p>
  
  <pre><code>  //line text
       google.maps.event.addListener(poly, 'click', (function(event,index){
       return function(){
      var routeinfw = locations[index];
      var inf =  routeinfw[0]; 
      infowindow.setContent(inf);
      infowindow.position = mouselocation;
      infowindow.open(map);
        };
      })(event,i));
  
  //starticon
  </code></pre>