16

What I'd like to do is to invoke the click handler on a marker. So this is my code :

var marker = new google.maps.Marker({
    position: location,
    map: map,
    title: title
});    

google.maps.event.addListener(marker, 'click', function() {
    alert("clicked");
});        

marker.click();

but I cannot see any alert...

markzzz
  • 47,390
  • 120
  • 299
  • 507

2 Answers2

32

It's possible to trigger any Maps API event listener on any object using the google.maps.event.trigger function.

You'll probably want to pass in a mock MouseEvent object, depending on what your event listener(s) do with it.

Example:

google.maps.event.trigger(marker, 'click', {
  latLng: new google.maps.LatLng(0, 0)
});
Chris Broadfoot
  • 5,082
  • 1
  • 29
  • 37
7

Save your markers in an array. And do something like this:

$('#anotherButton').click(function(){
   google.maps.event.trigger(marker[index], 'click');
});
Kara
  • 6,115
  • 16
  • 50
  • 57
Ringziii
  • 97
  • 2
  • 6
  • This solution does not work in clustered markers (one of the group markers) situation. Please share suggestion if you have. Thanks. – Kamlesh Mar 06 '20 at 11:16