Skip to main content

How to "simulate” a click on a Google Maps Marker?



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


Comments

  1. 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)
    });

    ReplyDelete
  2. Store the click listener in a variable and just call it when you need to simulate a click.

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

    click();


    You should be fine as long as you keep a reference to the function.

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?