Solved

Referencing Google Maps API markers from Javascript

Posted on 2013-06-17
2
415 Views
Last Modified: 2013-06-17
Here is my test page:
http://tech.lifespanfitness.com/store-locator.asp?p=19565

It works fine. If you click any of the red markers on the map, you get a details "info window". The click event is coded like this:

google.maps.event.addListener(marker0,'click', function(){
	infowindow.close();
	infowindow.setContent('<p><b>Play It Again Sports - Wyomissing</b><br />1050 Berkshire Blvd, Wyomissing, PA 19610<br />United States<br />610.779.8360<br />Distance: 5 miles or 9 kilometers</p>');
	infowindow.open(map,marker0);
});

Open in new window


However, I would like to also trigger these "info window" events from other elements. For example, I setup a test button on that same page (you will see it at the top-right of the screen):

<input id="mybutton" type="button" value="click here" />

Open in new window


I tried handling that button like this:

$(function(){
	$('#mybutton').click(function(marker0){
		infowindow.close();
		infowindow.setContent('content here');
		infowindow.open(map,marker0);
	});
});

Open in new window


...but I just get an error "cannot find the variable 'infowindow'".

How can I make it so clicking that button displays one of the five info windows on that screen? I guess I am not sure how to reference the info window, outside of the code that Google Maps API has already provided.

Thank you!
0
Comment
Question by:bbdesign
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 4

Accepted Solution

by:
Ersoy Hasan earned 500 total points
ID: 39252933
You can't find infowindow variable because it is defined inside the initialize function's scope and you are trying to access it outside it. Move this :
		$('#mybutton').click(function(marker0){
			infowindow.close();
			infowindow.setContent('content here');
			infowindow.open(map,marker0);
		});

Open in new window

inside the initialize function.
0
 

Author Comment

by:bbdesign
ID: 39252959
You are correct, that fixed it. Thanks!
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Requirements JQuery 1.6+ HTML CSS Introduction This article was inspired by an EE question (http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_28372511.html) on how to make a page show some balloons animate up a page…
This article discusses how to implement server side field validation and display customized error messages to the client.
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question