trigger google maps marker click

JavascriptGoogle Maps

Javascript Problem Overview


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

Javascript Solutions


Solution 1 - Javascript

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

The code would look like this:

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

Good luck!

Solution 2 - Javascript

I found I needed to attach a click event to the marker like so

var marker = new google.maps.Marker({});
marker.addListener('click', function() {
    infowindow.open(map, marker);
});
new google.maps.event.trigger( marker, 'click' );

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionmheaversView Question on Stackoverflow
Solution 1 - JavascriptkevinstueberView Answer on Stackoverflow
Solution 2 - JavascriptA AverillView Answer on Stackoverflow