Scripts

Reistijd

In een topic vroeg iemand hoe je de reistijd kon berekenen tussen twee plaatsen, met de gegevens van Google Maps. Dit is het resultaat geworden...

reistijd
[code]
<?php

// SETTINGS

// Google Maps heeft een rare beveiliging tegen rechtstreekse verzoeken
// Daarom gebruiken we een webbased proxy
// Hier moet de URL van de proxy
$sProxy     = 'http://www.anonasurf.com/default4.php?hl=287&q=';


// SCRIPT

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
    if (    !empty($_POST['from'])
          &&
            !empty($_POST['to']))
    {
        $sFrom  = $_POST['from'];
        $sTo    = $_POST['to'];
        $sGUrl  = 'http://maps.google.com/maps?saddr=' . $sFrom  . '&daddr=' . $sTo . '&hl=nl';
        $sPUrl  = $sProxy . urlencode($sGUrl);
        
        $sHtml  = file_get_contents($sPUrl);
        $aTemp  = explode('ca. ',   $sHtml);
        $aTemp  = explode(' min.',  $aTemp[1]);
        if ($aTemp[0] == null)
        {
            $iMin   = 0;
            $iHour  = 0;
            echo '<p>Fout opgetreden. Berekening niet mogelijk</p>';
        }
        else if (strpos($aTemp[0], ' uur ') === false)
        {
            $iMin   = (int) $aTemp[0];
            $iHour  = 0;
            echo '<p>De reis gaat ongeveer ' . $iMin . ' minuten duren.</p>';
        }
        else
        {
            $aTemp  = explode(' uur ', $aTemp[0]);
            $iMin   = (int) $aTemp[1];
            $iHour  = (int) $aTemp[0];
            echo '<p>De reis gaat ongeveer ' . $iHour . ' uur en ' . $iMin . ' minuten duren.</p>';
        }
        
        
    }
    else
    {
        echo '<p>U heeft niet alle velden ingevuld.</p>';
    }
}
else
{
    $sFrom  = null;
    $sTo    = null;
}

?>
<form action="" method="post">
    <p><strong>Let op:</strong> u dient ook een landnaam in te vullen!</p>
    <p><input type="text" name="from" value="<?php echo $sFrom; ?>" /> Vertrek</p>
    <p><input type="text" name="to" value="<?php echo $sTo; ?>" /> Aankomst</p>
    <p><button type="reset">Reset</button> <button type="submit">Verzenden</button></p>
</form>
[/code]

Reacties

0
Nog geen reacties.