<?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>Blog de Yises &#187; distancia</title>
	<atom:link href="http://yises.com/blog/tag/distancia/feed/" rel="self" type="application/rss+xml" />
	<link>http://yises.com/blog</link>
	<description></description>
	<lastBuildDate>Wed, 18 Jan 2012 17:58:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Google Maps: Distancias entre dos puntos</title>
		<link>http://yises.com/blog/2010/02/06/google-maps-distancias-entre-dos-puntos/</link>
		<comments>http://yises.com/blog/2010/02/06/google-maps-distancias-entre-dos-puntos/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 20:33:44 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[distancia]]></category>
		<category><![CDATA[latitud]]></category>
		<category><![CDATA[longitud]]></category>
		<category><![CDATA[puntos]]></category>

		<guid isPermaLink="false">http://yises.com/blog/?p=64</guid>
		<description><![CDATA[Hace unos días me encontraba ante el problema de cómo obtener la distancia entre dos puntos con la tecnología de Google Maps. La solución que al final implementamos es la que puedes ver en esta página. Tiene dos funciones principales, que son: Initialize, que se ejecutará nada más cargar la página. function initialize() { geocoder [...]]]></description>
			<content:encoded><![CDATA[<p>Hace unos días me encontraba ante el problema de cómo obtener la distancia entre dos puntos con la tecnología de Google Maps.</p>
<p>La solución que al final implementamos es la que puedes ver en <a title="Distancia entre dos puntos con Google Maps" href="http://www.yises.com/googlemaps/distanciaEntreDosPuntos.html" target="_blank">esta página</a>.</p>
<p>Tiene dos funciones principales, que son:<br />
Initialize, que se ejecutará nada más cargar la página.</p>
<pre name="code" class="php">
function initialize() {
  geocoder = new GClientGeocoder();
}
</pre>
<p>ShowLocation, que se ejecutará en el momento en que pulsemos el botón de calcular las distancias. Se encargará de tomar las direcciones, obtener el punto donde se encuentran y llamar a la función calculateDistance.</p>
<pre name="code" class="php">
function showLocation() {
  geocoder.getLocations(document.forms[0].address1.value, function (response) {
    if (!response || response.Status.code != 200){
      alert("Lo siento, pero hemos sido incapaces de geolocalizar la primera dirección");
    } else {
      location1 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
      geocoder.getLocations(document.forms[0].address2.value, function (response) {
        if (!response || response.Status.code != 200){
          alert("Lo siento, pero hemos sido incapaces de geolocalizar la segunda dirección");
        } else {
          location2 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
          calculateDistance();
        }
      });
    }
  });
}
</pre>
<p>calculeDistance es la función que se encarga de calcular dicha distancia en kilómetros y en millas y sustituir el p con id results por una cadena con dicha información.</p>
<pre name="code" class="php">
function calculateDistance(){
  try{
    var glatlng1 = new GLatLng(location1.lat, location1.lon);
    var glatlng2 = new GLatLng(location2.lat, location2.lon);
    var miledistance = glatlng1.distanceFrom(glatlng2, 3959).toFixed(1);
    var kmdistance = (miledistance * 1.609344).toFixed(1);
    document.getElementById('results').innerHTML = '<strong>Dirección 1: </strong>' + location1.address + ' (' + location1.lat + ':' + location1.lon + ')
<strong>Dirección 2: </strong>' + location2.address + ' (' + location2.lat + ':' + location2.lon + ')
<strong>Distancia: </strong>' + kmdistance + ' kilómetros (o ' + miledistance + ' millas)';
  } catch (error) {
    alert(error);
  }
}
</pre>
<p>Nota: Recuerda que si quieres exportarla a tu máquina local o a tu propia web necesitas modificar la clave API.</p>
]]></content:encoded>
			<wfw:commentRss>http://yises.com/blog/2010/02/06/google-maps-distancias-entre-dos-puntos/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

