Adding events to multiple markers in a Google map I was looking over questions related to setting up markers on a Google map, and though the following works perfectly fine for me, it was different from the other (and accepted) answers. I just wanted to see if I'm doing something incorrect, or just a different way.

Mine:

this references the marker, and you can pull any data you have associated with it simply by calling it within the loop that creates all of the markers.

google.maps.event.addListener(marker, "click", function(){
     infowindow.setContent(this.position.toString());
     infowindow.open(this.map, this);
});


Accepted:

 google.maps.event.addListener(marker, 'click', (function(marker, i) {
     return function() {
     infowindow.setContent(locations[i][0]);
     infowindow.open(map, marker);
    }
 })(marker, i));
Your code is definitely simpler, though I would not use it myself. There is no good reason to have an anonymous function, and if you have multiple markers, then you will have multiple clones of the same function. I would create a named function and use that function with addListener.

(I am assuming that infowindow is available to this function)

function setPositionAsContent(){
  infoWindow.setContent(this.position.toString());
  infoWindow.open(this.map, this);
}

google.maps.event.addListener(marker, "click", setPositionAsContent);