Afstand in tijd berekenen v3 api

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Reshad F

Reshad F

15/01/2013 19:28:11
Quote Anchor link
Hello heren/dames,

Ik probeer iets te maken d.m.v. de v3 google maps api en het lukt aardig behalve 1 ding. ik moet de tijd die je erover doet tussen punt a en punt b vinden.

alleen kom ik ergens niet uit.. hoe kan ik de geschatte tijd ophalen tussen punt a en punt b ?

Hier is hetgeen wat ik nu heb

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
                   function computeTotalDistance(result) {
          var total = 0;
          var myroute = result.routes[0];
          for (i = 0; i < myroute.legs.length; i++) {
            total += myroute.legs[i].distance.value;
          }
          total = total / 1000;
          /*Start Calculating Distance Fair*/
              var rate = 1.95;
              var extra = 2.66;
              var time = 0.32;
              var taxModifier = 1.21; //21% btw
              
              var drivingDistanceround = Math.round(total*100)/100;
              var cost;
              
              cost = drivingDistanceround * rate + extra;

              var fare = cost * 0.21 + cost;
              var fare = Math.round(fare*100)/100;
          /*Distance Fair Calculation Ends*/

          document.getElementById("total").innerHTML = "Totale afstand = " + total + " km en Prijs = &euro;" + fare;
          }
Gewijzigd op 15/01/2013 19:28:32 door Reshad F
 
PHP hulp

PHP hulp

25/11/2024 23:44:21
 
Erwin H

Erwin H

15/01/2013 19:56:58
Quote Anchor link
Zo te zien gebruik je de Google Directions service, dan kan je toch de 'duration' gebruiken die wordt meegegeven aan elke leg? Net als distance.
Als dat niet werkt (zo te zien staat er in de API uitleg dat het niet altijd gegeven kan worden), dan moet je een inschatting maken van het aantal kilometers per uur dat je kan afleggen.
 
Reshad F

Reshad F

15/01/2013 20:10:44
Quote Anchor link
Ah dankjewel! ik heb dat helemaal over het hoofd gezien denk ik.. Ik zie ook niet 123 staan of die waarde nou in minuten is of ... in welke notatie? weet je dat toevallig ook?
 
Erwin H

Erwin H

15/01/2013 20:16:49
Quote Anchor link
Het is nog een object. Daaruit kan je de tijd in een string halen, of in een integer in seconde:
Quote:
text string A string representation of the duration value.
value number The duration in seconds.
 
Reshad F

Reshad F

15/01/2013 20:26:35
Quote Anchor link
Ah ik heb het voor elkaar :) dankjewel!

uitkomst

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function computeTotalDistance(result) {
          var total = 0;
          var myroute = result.routes[0];
          for (i = 0; i < myroute.legs.length; i++) {
            total += myroute.legs[i].distance.value;
          }
          total = total / 1000;

          var time = 0;
          
          for (i = 0; i < myroute.legs.length; i++) {
            time += myroute.legs[i].duration.value;
          }

          var timeSpend = Math.round(time / 60);
          /*Start Calculating Distance Fair*/
              var rate = 1.95;
              var extra = 2.66;
              var timePrice = timeSpend * 0.32;
              var taxModifier = 1.21; //21% btw
              
              var drivingDistanceround = Math.round(total*100)/100;
              var cost;
              
              cost = drivingDistanceround * rate + extra + timePrice;
              console.log(timePrice);
              var fare = cost * 0.21 + cost;
              var fare = Math.round(fare*100)/100;
          /*Distance Fair Calculation Ends*/

          document.getElementById("total").innerHTML = "Totale afstand = " + drivingDistanceround + " km en Prijs = &euro;" + fare;
          }
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.