28 mayo, 2009

A partir de JS PlaceMaker que es un script que permite identificar lugares a partir de un texto y que devuelve objetos con su ubicación, he creado el siguiente ejemplo:

http://jsbin.com/abumi/
http://jsbin.com/uharu/

El código es sencillo:

function callback(e) {  
  if (e.match.length) e= e.match; else e=[e.match]; 
  var gmapsApi= "ABQIAAAAGoC4gjFriF0K4FcpSOhWDhTWx8njL9qYLnq46LoOVGM6mIGTuxR2yPgKzvzjHKLSfLHgjUC0vi45-Q"; 
  var imgs=''; 
  console.dir(e); 
  for (loc in e) { 
    center=e[loc].place.centroid.latitude+','+e[loc].place.centroid.longitude; 
    imgs+= '<img src="http://maps.google.com/staticmap?center='+center+'&markers='+center+'&zoom=13&size=350x250&key='+gmapsApi+'" style="float:left;"/>'; 
  } 
  document.getElementById('map').innerHTML=imgs; 
  window.called=false; 
} 
 
window.called=false; 
function changed() { 
  if (window.called) return; 
  setTimeout(function(){ 
    Placemaker.config.appID = "jPkyQyTV34Fi4qlev38PC_eXLDQYqVPkQ5N1aZDxVUSpw3MKOUWD9AHzcVkLFkM-"; 
    Placemaker.getPlaces(document.getElementById('text').value,callback,document.getElementById('locale').value); 
    window.called=true; 
    }, 
  1000); 
}

Puedes probar con el texto: "I'm Jack London and I live in Barcelona but I work at Amsterdam and my parents live in Oslo", (nótese que detecta que la palabra London no se está usando como ubicación) aunque hay un selector para indicar el lenguaje del texto introducido. La detección se produce al salir del campo de texto, aunque también se puede forzar con el botón. Las claves son para el dominio del contenedor de código jsbin.com

Publicar un comentario en la entrada

Últimos links en indiza.com