Blogs Media: CSS Mania | VivirLatino | Sentido Web | Apps Mania

Publicidad

Mar01Abr2008

Geoposicionamiento con Yahoo en PHP

15:00 H (CET)| Temas: PHP · Yahoo

No solo de Google vive el programador, y en ese caso se trata de Yahoo y la posibilidad de jugar con el geoposicionamiento gracias a su API.

Los ejemplos que muestra el enlace al que referencio son bastante sencillos y se basan en una llamada HTTP, que puede devolver distintos formatos.

La base de la aplicación sería este script:

<?php
function request_cache($url, $dest_file, $timeout=43200) {
  if(!file_exists($dest_file) || filemtime($dest_file) < (time()-$timeout)) {
    $stream = fopen($url,'r');
    $tmpf = tempnam('/tmp','YWS');
    file_put_contents($tmpf, $stream);
    fclose($stream);
    rename($tmpf, $dest_file);
  }
}

function yahoo_geo($location) {
  $q = 'http://api.local.yahoo.com/MapsService/V1/geocode';
  $q .= '?appid=rlerdorf&location='.rawurlencode($location);
  $tmp = '/tmp/yws_geo_'.md5($q);
  request_cache($q, $tmp, 43200);
  libxml_use_internal_errors(true);
  $xml = simplexml_load_file($tmp); 
  $ret['precision'] = (string)$xml->Result['precision'];
  foreach($xml->Result->children() as $key=>$val) {
    if(strlen($val)) $ret[(string)$key] =  (string)$val;
  } 
  return $ret;
}
?>

El resto de los ejemplos son muy sencillos de seguir.

GeoCool!

Relacionados

Sin comentar » Formulario

Conversación

Nombre:

Email:

(no aparecerá)

URL:

(opcional)
¿Recordar datos?

↓ Comentarios (XHTML permitido)