Recent twitter entries...

  •  

Google Maps: Distancias entre dos puntos

Posted by | Posted in Google Maps | Posted on 06-02-2010

4

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 = new GClientGeocoder();
}

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.

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();
        }
      });
    }
  });
}

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.

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 = 'Dirección 1: ' + location1.address + ' (' + location1.lat + ':' + location1.lon + ')
Dirección 2: ' + location2.address + ' (' + location2.lat + ':' + location2.lon + ')
Distancia: ' + kmdistance + ' kilómetros (o ' + miledistance + ' millas)';
  } catch (error) {
    alert(error);
  }
}

Nota: Recuerda que si quieres exportarla a tu máquina local o a tu propia web necesitas modificar la clave API.

Plugin de actualización de twitter para wordpress

Posted by | Posted in Wordpress | Posted on 06-02-2010

0

 He encontrado por internet otro plugin para wordpress muy interesante, uno que cada vez que publico un post em este blog actualiza automáticamente mi cuenta de twitter con un mensaje personalizado.

Aquí os dejo la página web de la creadora del plugin http://blog.victoriac.net/geek/twitter-updater.