Ragazzi, ho questo piccolo script in php che non fa altro che restituire la distanza tra 2 indirizzi passati e la calcola tramite google map..ora quello che vedo è che fino a qualche giorno fa lo script funzionava..ora improvvisamente mi da sempre problemi di "Indirizzo Non trovato"..lo script è questo..sapete quale possa essere il problema????
PHP:
<?php
function get_driving_information($start, $finish, $raw = false)
{
if(strcmp($start, $finish) == 0)
{
$time = 0;
if($raw)
{
$time .= ' seconds';
}
return array('distance' => 0, 'time' => $time);
}
$start = urlencode($start);
$finish = urlencode($finish);
$distance = 'unknown';
$time = 'unknown';
$url = 'http://maps.google.com/m/directions?saddr='.$start.'&daddr='.$finish.'&hl=en&oi=nojs&dirflg=d';
if($data = file_get_contents($url))
{
if(preg_match('@([0-9\.]+)[span<>/]{0,7} (mi|km)[span<>/]{0,7} - about <b>([^<]*)</b>@smi', $data, $found))
{
$distanceNum = trim($found[1]);
$distanceUnit = trim($found[2]);
$timeRaw = trim($found[3]);
if($raw)
{
$distance = $distanceNum.' '.$distanceUnit;
$time = $timeRaw;
}
else
{
$distance = number_format($distanceNum, 2);
if(strcmp($distanceUnit, 'km') == 0)
{
$distance = $distanceNum / 1.609344;
}
$time = 0;
$parts = preg_split('@days?@i', $timeRaw);
if(count($parts) > 1)
{
$time += (86400 * $parts[0]);
$timeRaw = $parts[1];
}
$parts = preg_split('@hours?@i', $timeRaw);
if(count($parts) > 1)
{
$time += (3600 * $parts[0]);
$timeRaw = $parts[1];
}
$time += (60 * (int)$timeRaw);
}
}
else
{
throw new Exception('Impossibile trovare questo indirizzo');
}
return array('distance' => number_format($distance*1609), 'time' => $time/60);
$num1 = number_format($distance);
}
else
{
throw new Exception('Could not resolve URL');
}
}
?>
<?php
{
$info = get_driving_information($inizio,$indirizzo);
echo $info['distance'].' km da Order Portal, ci occorrerebero circa '.$info['time'].' minuti per servirla con il nostro corriere ';
?>