<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>InfoWindow &#8211; Alejandro Franco</title>
	<atom:link href="https://jafrancov.com/tag/infowindow/feed/" rel="self" type="application/rss+xml" />
	<link>https://jafrancov.com</link>
	<description>Python, Django y lo que nadie explica en los tutoriales</description>
	<lastBuildDate>Thu, 01 Aug 2013 20:15:00 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
<site xmlns="com-wordpress:feed-additions:1">14205669</site>	<item>
		<title>Mostrar sólo un InfoWindow y cerrarlo automáticamente GMaps API v3</title>
		<link>https://jafrancov.com/2010/09/single-infowindow/</link>
					<comments>https://jafrancov.com/2010/09/single-infowindow/#comments</comments>
		
		<dc:creator><![CDATA[Alex Franco]]></dc:creator>
		<pubDate>Sat, 11 Sep 2010 09:37:36 +0000</pubDate>
				<category><![CDATA[Codigo]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[GMaps]]></category>
		<category><![CDATA[InfoWindow]]></category>
		<category><![CDATA[Marcadores]]></category>
		<category><![CDATA[Marker]]></category>
		<category><![CDATA[Trucos]]></category>
		<guid isPermaLink="false">http://jafrancov.com/?p=1899</guid>

					<description><![CDATA[Si no tienes mucha experiencia o tienes dudas con respecto a algo que usemos en este post, puedes consultar los demás ejemplos que se han realizado anteriormente aquí. En algunas ocasiones existe la necesidad de tener varios marcadores dentro de un mapa, cada uno de ellos con un Listener que está a la espera de ... <a title="Mostrar sólo un InfoWindow y cerrarlo automáticamente GMaps API v3" class="read-more" href="https://jafrancov.com/2010/09/single-infowindow/" aria-label="Leer más sobre Mostrar sólo un InfoWindow y cerrarlo automáticamente GMaps API v3">Leer más</a>]]></description>
										<content:encoded><![CDATA[<p>Si no tienes mucha experiencia o tienes dudas con respecto a algo que usemos en este post, <a href="http://jafrancov.com/tag/gmaps+api/">puedes consultar los demás ejemplos que se han realizado anteriormente aquí</a>.</p>
<p>En algunas ocasiones existe la necesidad de tener varios marcadores dentro de un mapa, cada uno de ellos con un Listener que está a la espera de que en cuanto hagamos &#8216;click&#8217; en ellos, despliegue una InfoWindow que le hayamos asignado, pero, existe una desventaja (o ventaja depende del punto de vista) en la API v3 de GMaps, en comparación a la API v2 de GMaps, ésta es que al tener cada marcador con una ventana de información asignada, al momento de hacer click en un marcador se abre, pero si hacemos click en cualquier otro lugar del mapa (que no sea la &#8216;X&#8217;) no se cierra.</p>
<p>Lo que vamos a realizar es un cierre &#8220;automático&#8221;, esto quiere decir que al tener una InfoWindow abierta y hacer click en cualquier otro lado del mapa, se cierre en automático la ventana abierta en ese momento, de esta manera, siempre quedaría solamente una o ninguna InfoWindow en el mapa, librándonos de tener que estar cerrando manualmente cada una de las ventanas que aparezcan.</p>
<p style="text-align: center;"><a href="http://gmaps.alexfranco.mx/single-infowindow-visible"><img decoding="async" class="alignnone" title="Ver Demo Single InfoWindow" src="http://sites.google.com/site/jafrancov/stuff/ver-demo.png" alt="Ver Demo Single InfoWindow" width="140" height="57" /></a></p>
<p>En la v2 de la API de GMaps se hacía así:</p>
<pre class="brush: jscript; title: ; notranslate">
// Listener para generar y gestionar el InfoWindow
// marker es un objeto tipo Marker
	GEvent.addListener(marker, &quot;click&quot;, function() {
		marker.openInfoWindowHtml(&quot;mensaje que quisieras que apareciera&quot;);
	});
</pre>
<p>Con eso era suficiente para que apareciera y desapareciera cuando perdiera el &#8216;<em>foco</em>&#8216;, ahora para la v3 de la API de GMaps se crearon funciones para abrir (<strong>.open()</strong>) y cerrar (<strong>.close()</strong>) la <strong>InfoWindow</strong>, esto significo tener que especificar un evento para la apertura o cierre de la ventana. Esto no es problema, aunque <em>la situación principal radica cuando tienes muchos marcadores, hacer esto para cada uno de ellos</em>.</p>
<p>Solo es un poco de usar y re-usar funciones para facilitarnos la vida. Vamos a crear 2 variables globales una para el mapa y otra para una única instancia del InfoWindow, no es necesario crear más, con ella podremos crear tantas ventanas como nosotros queramos, por el momento no se les asignará el tipo de objeto, así que quedarán como <em>null</em>.</p>
<pre class="brush: jscript; title: ; notranslate">
	var map = null;
	var infoWindow = null;
</pre>
<p>Vamos a crear dos funciones que son las que van a hacer el ejercicio de abrir y cerrar la ventana, para el ejercicio se requerirá que se declaren como sigue. La función para cerrar no recibirá ningún parámetro, simplemente ejecutará el proceso de cerrar del objeto InfoWindow. La función para abrir, recibirá 2 parámetros, el primero tendrá que ser un objeto tipo <em>Marker</em> y el segundo un <em>String</em> (cadena de caracteres); el marcador previamente debe ser creado con los parámetros mínimos para su uso, es decir su posición y en qué mapa se dibujará; el string será para asignarle el contenido específico del marcador en cuestión, igual si así lo deseas, puedes agregar contenido general.</p>
<pre class="brush: jscript; title: ; notranslate">
	function closeInfoWindow() {
		infoWindow.close();
	}

	function openInfoWindow(marker, content) {
		var markerLatLng = marker.getPosition();
		infoWindow.setContent(&#x5B;
			'&lt;div style=&quot;text-align:center;&quot;&gt;',
			'Las coordenadas del &lt;b&gt;',
			content,
			'&lt;/b&gt; son:&lt;br/&gt;',
			markerLatLng.lat(),
			', ',
			markerLatLng.lng(),
			'&lt;br/&gt;&lt;br/&gt;Arr&amp;aacute;strame y haz click para actualizar la posici&amp;oacute;n.',
			'&lt;br/&gt;O puedes hacer click en cualquier otro lado para cerrarme.',
			'&lt;/div&gt;'
		].join(''));
		infoWindow.open(map, marker);
	}
</pre>
<p>Antes de llegar al código completo, vamos a tener en cuenta una pequeña instrucción, un listener que se le va a agregar al mapa, que es el que va a hacer que al momento de hacer click en cualquier parte del mapa que no sea la el infoWindow, lo cierre, independientemente de cuál sea el que esté abierto.</p>
<pre class="brush: jscript; title: ; notranslate">
		google.maps.event.addListener(map, 'click', function(){
			closeInfoWindow();
		});
</pre>
<p>Finalmente la función que se encargará de echar todo a andar, crear los marcadores y asignarles su Listener, indicar el objeto correspondiente a las variables del <em>Map</em> y del <em>InfoWindow</em>, todo este código ya lo hemos visto, así que todo el código quedaría así</p>
<pre class="brush: jscript; title: ; notranslate">
var map = null;
	var infoWindow = null;

	function closeInfoWindow() {
		infoWindow.close();
	}

	function openInfoWindow(marker, content) {
		var markerLatLng = marker.getPosition();
		infoWindow.setContent(&#x5B;
			'&lt;div style=&quot;text-align:center;&quot;&gt;',
			'Las coordenadas del &lt;b&gt;',
			content,
			'&lt;/b&gt; son:&lt;br/&gt;',
			markerLatLng.lat(),
			', ',
			markerLatLng.lng(),
			'&lt;br/&gt;&lt;br/&gt;Arr&amp;aacute;strame y haz click para actualizar la posici&amp;oacute;n.',
			'&lt;br/&gt;O puedes hacer click en cualquier otro lado para cerrarme.',
			'&lt;/div&gt;'
		].join(''));
		infoWindow.open(map, marker);
	}

	function initialize() {
		var myLatlng = new google.maps.LatLng(20.68017,-101.35437);
		var myOptions = {
		  zoom: 13,
		  center: myLatlng,
		  mapTypeId: google.maps.MapTypeId.ROADMAP
		}

		map = new google.maps.Map($(&quot;#map_canvas&quot;).get(0), myOptions);

		infoWindow = new google.maps.InfoWindow();

		google.maps.event.addListener(map, 'click', function(){
			closeInfoWindow();
		});

		var marker1 = new google.maps.Marker({
		    position: myLatlng,
		    draggable: true,
		    map: map
		});

		google.maps.event.addListener(marker1, 'click', function(){
			openInfoWindow(marker1, &quot;Marcador 1&quot;);
		});

		var marker2 = new google.maps.Marker({
			map: map,
			position: new google.maps.LatLng(20.66057, -101.37325),
			draggable: true
		});

		google.maps.event.addListener(marker2, 'click', function() {
			openInfoWindow(marker2, &quot;Marcador 2&quot;);
		});

		var marker3 = new google.maps.Marker({
			map: map,
			position: new google.maps.LatLng(20.67133, -101.32999),
			draggable: true
		});

		google.maps.event.addListener(marker3, 'click', function() {
			openInfoWindow(marker3, &quot;Marcador 3&quot;);
		});
	}

	$(document).ready(function() {
	    initialize();
	});

</pre>
<p style="text-align: center;"><a href="http://gmaps.alexfranco.mx/single-infowindow-visible"><img decoding="async" class="alignnone" title="Ver Demo Single InfoWindow" src="http://sites.google.com/site/jafrancov/stuff/ver-demo.png" alt="Ver Demo Single InfoWindow" width="140" height="57" /></a></p>
<p>Listo, ahora puedes traspolar este método a algo más dinámico como la consulta de APIs con Geolocalización por ejemplo&#8230; prueba, disfruta y practica&#8230; si tienes dudas, ya sabes dónde preguntarme :-D.</p>
<p style="text-align: right;"><em>Enjoy this Life!!</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://jafrancov.com/2010/09/single-infowindow/feed/</wfw:commentRss>
			<slash:comments>22</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1899</post-id>	</item>
		<item>
		<title>Marcador arrastrable y cómo obtener su Lat/Lng GMaps API v3</title>
		<link>https://jafrancov.com/2010/09/draggable-marker-getting-lat-lng-gmaps-api-v3/</link>
					<comments>https://jafrancov.com/2010/09/draggable-marker-getting-lat-lng-gmaps-api-v3/#comments</comments>
		
		<dc:creator><![CDATA[Alex Franco]]></dc:creator>
		<pubDate>Tue, 07 Sep 2010 22:01:22 +0000</pubDate>
				<category><![CDATA[Codigo]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Draggable]]></category>
		<category><![CDATA[GMaps]]></category>
		<category><![CDATA[InfoWindow]]></category>
		<category><![CDATA[LatLng]]></category>
		<category><![CDATA[Maps]]></category>
		<category><![CDATA[Marcadores]]></category>
		<category><![CDATA[Marks]]></category>
		<guid isPermaLink="false">http://jafrancov.com/?p=1881</guid>

					<description><![CDATA[En este pequeño espacio vamos a ver cómo y para qué nos podrían ser útiles los marcadores arrastrables pudiendo obtener la latitud y longitud, para este ejercicio vamos a ocupar el post del uso de las Info Window. Ya hemos visto como dibujar un marcador y asignarle un InfoWindow, así que esta parte será sencilla, ... <a title="Marcador arrastrable y cómo obtener su Lat/Lng GMaps API v3" class="read-more" href="https://jafrancov.com/2010/09/draggable-marker-getting-lat-lng-gmaps-api-v3/" aria-label="Leer más sobre Marcador arrastrable y cómo obtener su Lat/Lng GMaps API v3">Leer más</a>]]></description>
										<content:encoded><![CDATA[<p>En este pequeño espacio vamos a ver cómo y para qué nos podrían ser útiles los marcadores arrastrables pudiendo obtener la latitud y longitud, para este ejercicio vamos a ocupar el post del <a href="http://jafrancov.com/2010/09/info-window-gmaps-api-v3/">uso de las Info Window</a>.</p>
<p>Ya hemos visto como dibujar un marcador y asignarle un InfoWindow, así que esta parte será sencilla, ya que podremos mover el marcador de lugar y a placer, obteniendo las coordenadas de donde fue colocado, los usos que podemos darle varían infinitamente, actualmente podemos ver su uso por ejemplo en <a href="http://jafrancov.com/tag/foursquare">Foursquare</a> cuando editamos un v<em>venue</em>, podemos mover el marcador hasta el lugar más preciso donde se encuentra realmente el venue, más delante podremos hacer polígonos y delimitar las zonas usando las latitudes y longitudes para ser más precisos y bueno&#8230; miles de aplicaciones más que se pueden hacer e imaginar con ello, interesante, ¿no?</p>
<p style="text-align: center;"><a href="http://gmaps.alexfranco.mx/draggable-marker-get-lat-lng"><img decoding="async" class="aligncenter" title="Ver ejemplo de Marcador arrastrable" src="http://sites.google.com/site/jafrancov/stuff/ver-demo.png" alt="" width="140" height="57" /></a></p>
<p>En la zona de <a href="http://code.google.com/intl/es-ES/apis/maps/documentation/javascript/reference.html" target="_blank">Referencias de la API de GMaps v3</a> podremos encontrar a detalle las propiedades y funciones de cada elemento que usemos, para este ejemplo usaremos una <em>propiedad</em> de los marcadores que se llama <strong>draggable</strong>, esta propiedad hace que los marcadores que dibujemos puedan ser &#8220;<strong>arrastrables</strong>&#8220;, es decir, que los podamos tomar y arrastrarlos o moverlos a cualquier parte del mapa. Lo único que tenemos que hacer para hacer esa función es escribir en las propiedades del marcador <strong>draggable: true</strong> como lo veremos a continuación:</p>
<pre class="brush: jscript; title: ; notranslate">
		var marker = new google.maps.Marker({
		    position: myLatlng,
		    draggable: true,
		    map: map,
		    title:&amp;quot;Ejemplo marcador arrastrable&amp;quot;
		});
</pre>
<p>Ahora nos centraremos en la función que se llama <em><strong>openInfoWindow</strong></em>.</p>
<pre class="brush: jscript; title: ; notranslate">
	function openInfoWindow(marker) {
		var markerLatLng = marker.getPosition();
		infoWindow.setContent(&#x5B;
			'&amp;lt;b&amp;gt;La posicion del marcador es:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;',
			markerLatLng.lat(),
			', ',
			markerLatLng.lng(),
			'&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Arr&amp;amp;aacute;strame y haz click para actualizar la posici&amp;amp;oacute;n.'
		].join(''));
		infoWindow.open(map, marker);
	}
</pre>
<p>En la función <em>openInfoWindow</em> podemos observar que recibe un parámetro al que manejaremos con el nombre de <em>marker</em> dentro de la función (al momento de invocar la función puede llamarse de cualquier otra manera, pero es necesario que sea un objeto tipo <strong>Marker</strong>); dentro de la función declaramos una variable llamada <em>markerLatLng</em> que va a almacenar la propiedad <em>LatLng</em> del marcador mediante la función <em><strong>getPosition()</strong></em>, lo que obtiene es un objeto con la latitud y longitud del marcador que recibió la función, para hacer referencia a cada uno de ellos, es con las subfunciones <strong>.lat()</strong> y <strong>.lng()</strong>; en el <em>setContent</em> del InfoWindow asignamos todo el contenido como un arreglo de cadenas, por eso la separación en comas y <em>no con el signo más (+)</em>, con la instrucción join se indica que se concatene o se &#8220;unan&#8221; las cadenas; por último con la función <strong>open()</strong> de infoWindow mostramos de diálogo con el contenido que le asignamos anteriormente.</p>
<p>Ahora si veamos el código completo, la mayoría del código ya lo hemos visto así que aquí está:</p>
<pre class="brush: jscript; title: ; notranslate">
	var map = null;
	var infoWindow = null;

	function openInfoWindow(marker) {
		var markerLatLng = marker.getPosition();
		infoWindow.setContent(&#x5B;
			'&amp;lt;b&amp;gt;La posicion del marcador es:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;',
			markerLatLng.lat(),
			', ',
			markerLatLng.lng(),
			'&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Arr&amp;amp;aacute;strame y haz click para actualizar la posici&amp;amp;oacute;n.'
		].join(''));
		infoWindow.open(map, marker);
	}

	function initialize() {
		var myLatlng = new google.maps.LatLng(20.68017,-101.35437);
		var myOptions = {
		  zoom: 13,
		  center: myLatlng,
		  mapTypeId: google.maps.MapTypeId.ROADMAP
		}

		map = new google.maps.Map($(&amp;quot;#map_canvas&amp;quot;).get(0), myOptions);

		infoWindow = new google.maps.InfoWindow();

		var marker = new google.maps.Marker({
		    position: myLatlng,
		    draggable: true,
		    map: map,
		    title:&amp;quot;Ejemplo marcador arrastrable&amp;quot;
		});

		google.maps.event.addListener(marker, 'click', function(){
			openInfoWindow(marker);
		});
	}

	$(document).ready(function() {
	    initialize();
	});
</pre>
<p>Para este ejemplo y posteriores comenzaremos a usar funciones para un mejor manejo del código, como pueden ver hemos declarado la variable <em>map</em> e <em>infoWindow</em> como globales, las cuáles podrán usarse a través de las funciones sin temor a que se pierdan las referencias al liberar la función. La razón por la cual es mejor poner este código en una función, es que si requerimos colocar más de un marcador, podamos enlazar un InfoWindow diferente para cada uno, sin necesidad de escribir el mismo código individualmente, además de que la función puede re-usarse tantas veces como sea necesario. Para ver cómo es que funciona este ejercicio ve al siguiente enlace:</p>
<p style="text-align: center;"><a href="http://gmaps.alexfranco.mx/draggable-marker-get-lat-lng"><img decoding="async" class="aligncenter" title="Ver ejemplo de Marcador arrastrable" src="http://sites.google.com/site/jafrancov/stuff/ver-demo.png" alt="" width="140" height="57" /></a></p>
<p>Es todo por esta ocasión si tienen dudas ya saben cómo y dónde preguntar, mucha suerte&#8230;</p>
<p style="text-align: right;"><em>Enjoy this Life!!</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://jafrancov.com/2010/09/draggable-marker-getting-lat-lng-gmaps-api-v3/feed/</wfw:commentRss>
			<slash:comments>39</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1881</post-id>	</item>
		<item>
		<title>Info Window en GMaps API v3</title>
		<link>https://jafrancov.com/2010/09/info-window-gmaps-api-v3/</link>
					<comments>https://jafrancov.com/2010/09/info-window-gmaps-api-v3/#comments</comments>
		
		<dc:creator><![CDATA[Alex Franco]]></dc:creator>
		<pubDate>Thu, 02 Sep 2010 11:13:29 +0000</pubDate>
				<category><![CDATA[Codigo]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[GMaps]]></category>
		<category><![CDATA[InfoWindow]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Maps]]></category>
		<guid isPermaLink="false">http://jafrancov.com/?p=1854</guid>

					<description><![CDATA[A partir de este post, me enfocaré en el tema, si nunca has hecho nada con GMaps, te sugiero leas las bases del manejo de la API de GMaps v3. ¿Qué es un Info Window? Quizá han visto que en muchos de los mapas de mostrados con la tecnología de Google, al dar clicks sobre ... <a title="Info Window en GMaps API v3" class="read-more" href="https://jafrancov.com/2010/09/info-window-gmaps-api-v3/" aria-label="Leer más sobre Info Window en GMaps API v3">Leer más</a>]]></description>
										<content:encoded><![CDATA[<p>A partir de este post, me enfocaré en el tema, si nunca has hecho nada con <a href="http://jafrancov.com/tag/gmaps">GMaps</a>, te sugiero leas las <a href="http://jafrancov.com/2010/08/bases-gmaps-api-v3/" target="_blank">bases del manejo de la API de GMaps v3</a>.</p>
<p>¿Qué es un <strong>Info Window</strong>?</p>
<p>Quizá han visto que en muchos de los mapas de mostrados con la tecnología de Google, al dar clicks sobre los marcadores, mapa, formas, etc., nos aparece un cuadro con información, bien, pues eso es un Info Window.</p>
<p>Las opciones que usaremos para la creación del objeto de InfoWindow contendrá los siguientes campos:</p>
<ul>
<li><strong><em>content</em></strong> contiene una cadena de texto o nodo DOM que mostrará al abrir la ventana de información.</li>
<li><strong><em>position</em></strong> contiene el <em>LatLng</em> al cuál estará asignado, ten en cuenta que si es asignada a un marcador, automáticamente adquiere el valor de su posición, en caso de no asignarle algún LatLng toma el centro que se muestra por primera vez del mapa, para los polígonos trabaja de manera diferente y lo hablaremos en otro post.</li>
<li><strong><em>maxWidth</em></strong> especifica el ancho máximo en pixeles, que podrá adquirir la ventana, por default adquiere el ancho del contenido, sin saturar el espacio del mapa, haciendo saltos de línea en automático, cuando el contenido ha alcanzado el máximo permitido, se expandirá verticalmente igual, sin saturar el espacio del mapa. En caso de que se establezca un determinado ancho, el texto en automático dará saltos de línea al llegar al límite establecido, si el contenido es mucho se extenderá verticalmente sin saturar el espacio.</li>
</ul>
<p>El contenido del InfoWindow puede contener una cadena de texto, un fragmento de código HTML, o un mismo elemento DOM. Para establecer este contenido, debe hacerse una llamada explícita al constructor del InfoWindow con <strong><em>setContent()</em></strong>. Ten cuidado al usar div&#8217;s ya que si le pones estilos y sobrepasa el espacio puede &#8220;derramarse&#8221; el contenido fuera del InfoWindow.</p>
<p>Ahora si vamos directo al código, este ya solamente es el JavaScript, recuerda agregar <a href="http://jafrancov.com/tag/jquery">jQuery</a> también:</p>
<pre class="brush: jscript; title: ; notranslate">
var myLatlng = new google.maps.LatLng(20.68017,-101.35437);
var myOptions = {
  zoom: 13,
  center: myLatlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP
}

var map = new google.maps.Map($(&quot;#map_canvas&quot;).get(0), myOptions);

var contentString = '&lt;div id=&quot;div_ejemplo&quot;&gt;'+
    '&lt;p&gt;Este es un ejemplo de &lt;b&gt;InfoWindow&lt;/b&gt;, ' +
    'como puedes ver puedes agregar cualquier cosa, ' +
    'cualquier &lt;em&gt;HTML&lt;/em&gt;.&lt;/p&gt;' +
    '&lt;p&gt;Este InfoWindow tiene un ancho de 200px ' +
    'y autom&amp;aacute;ticamente da los saltos de l&amp;iacute;nea.&lt;/p&gt;'+
    '&lt;p&gt;Para ver el tutorial &lt;a href=&quot;http://jafrancov.com/2010/09/info-window-gmaps-api-v3/&quot;&gt;'+
    'clickea aqu&amp;iacute;&lt;/a&gt;.&lt;/p&gt;'+
    '&lt;/div&gt;';

var infowindow = new google.maps.InfoWindow({
    content: contentString,
    maxWidth: 200
});

var marker = new google.maps.Marker({
    position: myLatlng,
    map: map,
    title:&quot;Ejemplo InfoWindow&quot;
});

google.maps.event.addListener(marker, 'click', function() {
  infowindow.open(map,marker);
});
</pre>
<p>Solamente un último detalle antes de terminar, podrán observar que al final vemos un <em>addListener</em>, para que se pueda mostrar el InfoWindow al hacer click, es necesario agregar un <em>Listener</em>, que valga la redundancia, está a la escucha de un click, analicémoslo:</p>
<pre class="brush: jscript; title: ; notranslate">
google.maps.event.addListener(marker, 'click', function() {
  infowindow.open(map,marker);
});</pre>
<p>Vamos por partes <em><strong>google.maps.event.addListener</strong></em>, es una función integrada de la API que agregará el listener, requiere de 3 cosas, a quién se le va a asignar el listener, en este caso a <strong>marker</strong> que es la variable que almacena el objeto del marcador que se dibuja, el tipo de listener que para este caso es un <strong>&#8216;click&#8217;</strong> y por último el proceso que realizará, que para el ejemplo es una función. Dentro de la función especificamos lo que hará el listener, haremos uso de <strong>infowindow</strong> que es la variable que contiene el objeto con los detalles del <em>InfoWindow</em> por supuesto, a la cual se le llama la función <strong>open()</strong> que es la que se encargará de mostrar el InfoWindow, y esta funcióna a su vez, requiere de 2 parámetros, el primero en qué objeto de mapa se va a agregar (<strong>map</strong>) y segundo, a qué objeto se le va a asignar (<strong>marker</strong>), en caso de que no se especifique la segunda variable, se mostrará en el centro inicial del mapa.</p>
<p style="text-align: center;"><a href="http://gmaps.alexfranco.mx/info-window"><img decoding="async" class="aligncenter" title="Ver Demo de InfoWindow GMaps API v3" src="http://sites.google.com/site/jafrancov/stuff/ver-demo.png" alt="Ver Demo de InfoWindow GMaps API v3" width="140" height="57" /></a></p>
<p>Ahora si es todo por este tutorial, espero les sirva, si tienen dudas ya saben dónde y cómo preguntar <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p style="text-align: right;"><em>Enjoy this Life!!</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://jafrancov.com/2010/09/info-window-gmaps-api-v3/feed/</wfw:commentRss>
			<slash:comments>24</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1854</post-id>	</item>
	</channel>
</rss>
