2016-11-05 3 views
-2

Wie Zeit Beispiel 16:00 anzeigen haben irgendwelche Ahnung, wie man das macht?php - Get treibende Entfernung zwischen zwei Punkten mit Google Maps API und berechnen Zeit

function GetDrivingDistance($lat1, $lat2, $long1, $long2) 
     { 
      $url = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=".$lat1.",".$long1."&destinations=".$lat2.",".$long2."&mode=driving&language=de"; 
      $ch = curl_init(); 
      curl_setopt($ch, CURLOPT_URL, $url); 
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
      curl_setopt($ch, CURLOPT_PROXYPORT, 3128); 
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
      $response = curl_exec($ch); 
      curl_close($ch); 
      $response_a = json_decode($response, true); 
      $dist = $response_a['rows'][0]['elements'][0]['distance']['text']; 
      $time = $response_a['rows'][0]['elements'][0]['duration']['text']; 

     return array('distance' => $dist, 'time' => $time); 
    } 
    //$pickuplocation = 'Herbststrasse 5'; 
    //$droplocation = 'Pastorstrasse 5'; 
    $coordinates1 = get_coordinates('wien', 'Stefan Esders Platz 1', ''); 
    $coordinates2 = get_coordinates('wien', 'Pastorstrasse 1', ''); 
    if (!$coordinates1 || !$coordinates2) 
    { 
     echo 'Bad address.'; 
    } 
    else 
    { 
     $dist = GetDrivingDistance($coordinates1['lat'], $coordinates2['lat'], $coordinates1['long'], $coordinates2['long']); 
     echo 'Entfernung: <b>'.$dist['distance'].'</b><br>Fahrzeit: <b>'.$dist['time'].'</b>'; 
    } 
    ?> 

entfernung: 662 km Fahrzeit: 6 Stunden, 56 Minuten

Ich brauche Hilfe Zeit Beispiel 6.56 jeder kann angezeigt werden?

Antwort

0

Statt sich den ‚Text‘ Feld aus der Antwort:

$dist = $response_a['rows'][0]['elements'][0]['distance']['text']; 
$time = $response_a['rows'][0]['elements'][0]['duration']['text']; 

den Wert Versuchen:

$dist = $response_a['rows'][0]['elements'][0]['distance']['text']; 
$time = $response_a['rows'][0]['elements'][0]['duration']['value']; 

dass die Gesamtzahl der Sekunden ist, tun Sie Ihre mathematischen es auf und Sie können formatiere es wie du willst.

$hours = floor($time/3600); 
$mins = floor($time/60 % 60); 
$secs = floor($time % 60); 
+0

Dank seiner Arbeit perfekt – Goran

Verwandte Themen