mheavers mheavers - 2 months ago 13
Javascript Question

trigger google maps marker click

I have a google map set up to find the user's current location, and center the map at that closest marker to their location. The markers, when clicked, open up an infobox (note this is a little different than an infoWindow - http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/docs/examples.html). What I want to do, however, is automatically open up the nearest marker without the user actually clicking. Here's the code to trigger a marker opening:

//loop through all locations to add a marker:
addMarker = function(loc) {
var markerLoc = new google.maps.LatLng(loc.Lat, loc.Long);

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

google.maps.event.addListener(marker, "mousedown", function() {

var infoOpts = {
content: loc.markerText,
boxStyle: { background: "none transparent", width: "180px"},
pixelOffset: new google.maps.Size(-90, 0),
closeBoxMargin: "5px"
};

var ib = new InfoBox(infoOpts);
ib.open(map, marker);
});

markers.push(marker);
};


So somehow I have to trigger the mouseDown function of the appropriate marker, but it has to be done in a function outside of this one. I will have a reference to the appropriate marker in the array (markers[closestmarker]).

Answer

i see that this question has been sitting for quite awhile, but, just in case, this answer may be helpful: trigger google maps marker click

Good luck!

The code would look like this:

var marker = new google.maps.Marker({});
new google.maps.event.trigger( marker, 'click' );
Comments