<?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>jQuery &#8211; Alejandro Franco</title>
	<atom:link href="https://jafrancov.com/tag/jquery/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:14:49 +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>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>
		<item>
		<title>Primeros pasos con la API v3 de Google Maps (Mapa y Marcador)</title>
		<link>https://jafrancov.com/2010/08/bases-gmaps-api-v3/</link>
					<comments>https://jafrancov.com/2010/08/bases-gmaps-api-v3/#comments</comments>
		
		<dc:creator><![CDATA[Alex Franco]]></dc:creator>
		<pubDate>Thu, 26 Aug 2010 22:12:44 +0000</pubDate>
				<category><![CDATA[Codigo]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[GMaps]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<guid isPermaLink="false">http://jafrancov.com/?p=1832</guid>

					<description><![CDATA[Ya tengo un rato manejando la API JavaScript de Google Maps pero ahora con su cambio a la v3 hay cosas que cambiaron y hay que adaptarse, entonces se me ocurrió compartirles lo que vaya aprendiendo desde cero, de cualquier manera pueden leer si así lo desean, toda la documentación oficial de la API de ... <a title="Primeros pasos con la API v3 de Google Maps (Mapa y Marcador)" class="read-more" href="https://jafrancov.com/2010/08/bases-gmaps-api-v3/" aria-label="Leer más sobre Primeros pasos con la API v3 de Google Maps (Mapa y Marcador)">Leer más</a>]]></description>
										<content:encoded><![CDATA[<p>Ya tengo un rato manejando la API JavaScript de <a href="http://jafrancov.com/gmaps">Google Maps</a> pero ahora con su cambio a la v3 hay cosas que cambiaron y hay que adaptarse, entonces se me ocurrió compartirles lo que vaya aprendiendo desde cero, de cualquier manera pueden leer si así lo desean, toda la <a href="http://code.google.com/intl/es-ES/apis/maps/documentation/javascript/" target="_blank">documentación oficial de la API de Google Maps</a>.</p>
<p>Lo que voy a intentar hacer es ir al grano del tema del post, para no dar tantas vueltas y quitar toda la paja que viene en la documentación&#8230; &#8220;<em>Directo y a la cabeza</em>&#8221; dicen por ahí.</p>
<p>Para iniciar será necesario y preferente que tengan un poco de conocimiento principalmente de JavaScript y <a href="http://jafrancov.com/tag/jquery">jQuery</a>, asímismo de HTML y un poco de CSS, igual unas pequeñas nociones de <a href="http://jafrancov.com/tag/html5">HTML5</a> nos servirán en publicaciones posteriores.</p>
<p>Para empezar hay que declarar nuestra aplicación como HTML5, sencillamente escribiendo el DOCTYPE así:</p>
<pre class="brush: xml; title: ; notranslate">&lt;!DOCTYPE html&gt;</pre>
<p>También para estos ejemplos es necesario incluir los scripts de jQuery, para este dirígete a su <a href="http://jquery.com/" target="_blank">sitio oficial</a>, descárgalo y agrega el script, y claro el más importante de estos ejemplos, el script de Google Maps, que para la v3 no es necesario generar una key como en la versión 2 se hacía, ahora solamente agregas el siguiente script:</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot; src=&quot;http://maps.google.com/maps/api/js?sensor=set_to_true_or_false&quot;&gt;&lt;/script&gt;
</pre>
<p>Si puedes observar, al final del script dice <em>sensor=set_to_true_or_false</em> es para indicar si queremos que el sensor identifique la posición del usuario, debes indicar <em>true</em> o <em>false</em> según lo requiera tu aplicación.</p>
<p><strong>NOTA</strong>: hay una pequeña discusión sobre la localización de los scripts, puedes ponerlos ya sea dentro del <em>head</em> o del <em>body</em>, pero muchos recomiendan que vayan antes de cerrar la etiqueta body, ya que evita que el contenido principal tarde en mostrarse, entonces&#8230; es tu decisión donde colocarlos, al final de cuentas para fines didácticos, funcionan igual en cualquier lado.</p>
<p>Dentro del body vamos a declarar un DIV que incluya su id y estilos para un ancho y alto donde queramos que se dibuje el mapa, debe ser algo como esto:</p>
<pre class="brush: xml; title: ; notranslate">&lt;div id=&quot;map_canvas&quot; style=&quot;width: 640px; height: 400px;&quot;&gt;&lt;/div&gt;</pre>
<p>Ahora vamos con las opciones del mapa, primero declaremos la latitud y longitud donde queremos que aparezca nuestro mapa de esta manera:</p>
<pre class="brush: jscript; title: ; notranslate">var myLatlng = new google.maps.LatLng(myLatitude, myLongitude)</pre>
<p>Lo que hace esa línea de código, es que creamos una instancia de un objeto de la API de GMaps que guardará la latitud y longitud del mapa, marcador o sea lo que sea que queramos dibujar, así que recuérdenla bien para futuros usos.</p>
<p>Los valores pueden variar de la siguiente manera:</p>
<ul>
<li><em>myLatitude</em> es el valor del ángulo que parte del ecuador, puede variar de 90 a -90 de norte a sur respectivamente, siendo 0 el ecuador.</li>
<li><em>myLongitude</em> es el valor que parte del meridiano de Greenwich, o sea a partir de Londres, Inglaterra, tomando valores que varian de -180 a 180 de este a oeste respectivamente siendo 0 en Londres.</li>
</ul>
<p><strong>TIP</strong>: Si quieres obtener la latitud y longitud específicos dirígete a <a href="http://Maps.Google.com" target="_blank">Maps.Google.com</a> y en los Labs, activa el marcador de latitud y longitud.</p>
<p>Ahora, vamos con las opciones del mapa, las vamos a declarar de la siguiente forma:</p>
<pre class="brush: jscript; title: ; notranslate">
var myOptions = {
  zoom: 8,
  center: myLatlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP
};
</pre>
<p>Fácil de entender, ¿no?, lo que se realiza con esto es que a myOptions se le adjuntan las opciones propias de despliegue del mapa, <strong>zoom</strong>, es el nivel de visión del mapa, el más bajo 1, el más alto puede variar, ya que en algunos lugares puede ser hasta de un nivel 25 (hasta donde he descubierto), ya dependerá de lo que quieras mostrar en tu aplicación; <strong>center</strong>, si claro, centra el mapa con la latitud y longitud que un paso antes hemos declarado con la variable <em>myLatlng</em>; <strong>mapTypeId</strong> es una variable que interpreta el tipo de mapa que se va a desplegar, los cuales pueden ser estos:</p>
<ul>
<li><em>ROADMAP</em> muestra el mapa normal, el que es en 2D, si no se declara nada, este es el tipo por default.</li>
<li><em>SATELLITE</em> muestra las cuadros fotografiados de la superficie.</li>
<li><em>HYBRID</em> muestra una combinación de cuadro fotográficos, y el mapa 2D con nombres de calles y demás sobrepuesto, es como sobrevolar la superficie con todo y direcciones.</li>
<li><em>TERRAIN</em> muestra cuadros del relieve físico de la tierra, elevaciones, ríos, montañas, entre otros.</li>
</ul>
<p>Lo que prosigue es crear una instancia que guarde, interprete y dibuje todas las opciones que hemos visto de un mapa, recuerden tener jQuery cargado para que les funcione este script:</p>
<pre class="brush: jscript; title: ; notranslate">var map = new google.maps.Map($(&quot;#map_canvas&quot;).get(0), myOptions);</pre>
<p>Así creamos la instancia al mapa y le decimos que lo coloque en el DIV con el ID de <strong><em>map_canvas</em></strong>, así como las opciones que requiere el mapa para ser desplegado correctamente. La variable <strong>map</strong> nos servirá más delante para tener control sobre el mismo mapa, como dibujar marcadores, formas, líneas, etc., haciéndole referencia.</p>
<p>Por último vamos a colocar/dibujar un marcador, un pin, o como lo quieran llamar, es muy simple hacerlo:</p>
<pre class="brush: jscript; title: ; notranslate">
var marker = new google.maps.Marker({
      position: myLatlng,
      map: map,
      title:&quot;Hola Mundo&quot;
  });
</pre>
<p>Estas son las opciones básicas y quizá mínimas para dibujar un marcador, para <strong>position</strong> usaremos la misma variable que usamos para centrar el mapa y colocar el marcador en el centro del mismo, <strong>map</strong> es la instancia del objeto del mapa sobre el que vamos a colocar el marcador, <strong>title</strong> es el tooltip del marcador (el que dice un texto cuando dejamos encima el puntero).</p>
<p>Entonces al final, el código lo colocamos en una función que llamaremos <em>initialize</em>, para poder llamarlo posteriormente en cualquier parte de nuestro sitio, que para el ejercicio lo haremos en cuanto se cargue el body, agregando en la etiqueta de apertura:</p>
<pre class="brush: xml; title: ; notranslate">&lt;body onload=&quot;initialize()&quot;&gt;</pre>
<p>Aunque puedes llamar la función desde cualquier otro lado, ahora si nuestro documento con todo y el script debe verse algo semejante a esto:</p>
<pre class="brush: jscript; html-script: true; title: ; notranslate">
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://maps.google.com/maps/api/js?sensor=set_to_true_or_false&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
  function initialize() {
    var myLatlng = new google.maps.LatLng(20.68009, -101.35403);
    var myOptions = {
      zoom: 8,
      center: myLatlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map($(&quot;#map_canvas&quot;).get(0), myOptions);
    var marker = new google.maps.Marker({
      position: myLatlng,
      map: map,
      title:&quot;Hola Mundo&quot;
  });
  }

&lt;/script&gt;
&lt;/head&gt;
&lt;body onload=&quot;initialize()&quot;&gt;
  &lt;div id=&quot;map_canvas&quot; style=&quot;width: 640px; height: 400px;&quot;&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p><a href="http://gmaps.alexfranco.mx/basics-gmaps-map-marker"><img decoding="async" class="aligncenter" title="Ver Demo" src="http://sites.google.com/site/jafrancov/stuff/ver-demo.png" alt="Ver Demo" width="140" height="57" /></a></p>
<p>Es todo por esta ocasión, ya tengo otros ejercicios listos, solamente falta desglozarlos, cualquier duda, ya saben cómo contactarme :D.</p>
<p style="text-align: right;"><em>Enjoy this Life!!</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://jafrancov.com/2010/08/bases-gmaps-api-v3/feed/</wfw:commentRss>
			<slash:comments>61</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1832</post-id>	</item>
	</channel>
</rss>
