wie heeft er een goede tip

Status
Niet open voor verdere reacties.

btbroeke

Nieuwe gebruiker
Lid geworden
13 jun 2012
Berichten
1
Hoi,

geweldig forum als ik 't zo bekijk. Heb even een vraagje. Ik ben vrij nieuw in php en ben bezig nu met het in elkaar zetten van een script dat afstanden omzet in prijzen.
Beter uitgelegd:
stel ik wil een taxi naar schiphol (dit is altijd het eind of startpunt) en ik woon daar en daar in gouda.
Dan vul ik mijn adres in, en klik op berekenen.
Ik krijg dan de prijs voor een auto en evt. voor een bus (als ik meer dan 4 personen ben bijv)

Nu ben ik al een tijdje bezig maar krijg dit dus niet voor elkaar. Heb al zitten kijken naar de google api maar echt wijs daaruit word ik ook niet
Hoe zou ik zoiets aan kunnen pakken en zijn er uberhaupt voorbeeldscripts te vinden?
(wil het namelijk ook snappen hoe zo'n script werkt)
 
PHP:
<?php

function zipcodeCalc( $from, $to, $key)
{
  $data = array (
    'key=' . $key,
    'output=json',
    'gl=nl',
    'q=' . urlencode('from: '.$from.' to: '.$to)
  );
  $url = 'http://google.com/maps/nav?' . join( '&', $data);

  $ch = curl_init( $url);
  
  curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt( $ch, CURLOPT_MAXREDIRS, 3);
  curl_setopt( $ch, CURLOPT_REFERER, 'http://google.com');
  
  $str = curl_exec( $ch);
  
  if( curl_getinfo( $ch, CURLINFO_HTTP_CODE ) == 200 )
    return $str;
  else
    return curl_error( $ch);
  

}

  $key = 'Google MAPS api sleutel';
  $from = 'Postcode, Woonplaats, Land';
  $to = 'Postcode, Woonplaats, Land';

  $fetch = json_decode( zipcodeCalc( $from, $to, $key) );
  
    echo 'Afstand: '.round($fetch->Directions->Distance->meters/1000,2).' km<br />';
    echo 'Tijdsduur: ~'.round($fetch->Directions->Duration->seconds/60).' minuten<br />';
?>

(Bron)

Geeft je, als ik het zo 1-2-3 bekijk, de afstand van punt naar punt en maakt gebruik van de Google Maps API.

Hier kan je vervolgens je eigen berekening op loslaten om zo tot een prijs te komen.
Misschien heb je er wat aan!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan