afstand berekenen
na het lezen van het topic afstand berekenen dmv postcodes
ben ik aan de slag gegaan met het script. alleen krijg ik
- geen invulvelden
- blijft de melding Afstand: 0 km & Tijdsduur: 0 minuten staan
wie kan mij helpen om het script zo te maken dat ik een postcode kan invullen waardoor de afstand t.m. mijn huisadres (vast gegeven) wordt getoond?
alvast bedankt
Je moet wel $key, $from en $to instellen hé.
heb het nu als volgt ingesteld (heb wel de key aangepast hieronder).
Code (php)
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
33
34
35
36
37
38
39
40
41
42
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
33
34
35
36
37
38
39
40
41
42
<?php
function zipcodeCalc( $from, $to, $key)
{
$data = array (
'key=2C7xtgwQX2YNcXPGRmTxSVcjjxJqAAeQx91QwkxKWiOs3OaRS4UBr9viQBs2r8jHpkdaCUndGiGg' . $key,
'output=json',
'gl=nl',
'q=' . urlencode('from: '.$from.' to: '.$to)
);
$url = 'http://maps.google.com/maps/geo?q=1600+Amphitheatre+Parkway,+Mountain+View,+CA&output=json&oe=utf8\
&sensor=true_or_false&key=2C7xtgwQX2YNcXPGRmTxSVcjjxJqAAeQx91QwkxKWiOs3OaRS4UBr9viQBs2r8jHpkdaCUndGiGg
' . 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 = '2C7xtgwQX2YNcXPGRmTxSVcjjxJqAAeQx91QwkxKWiOs3OaRS4UBr9viQBs2r8jHpkdaCUndGiGg';
$from = '3062TB, Rotterdam, Nederland';
$to = '2907GG, Capelle aan den IJssel, Nederland';
$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/>';
//wow ik kan php afsluiten :o
?>
function zipcodeCalc( $from, $to, $key)
{
$data = array (
'key=2C7xtgwQX2YNcXPGRmTxSVcjjxJqAAeQx91QwkxKWiOs3OaRS4UBr9viQBs2r8jHpkdaCUndGiGg' . $key,
'output=json',
'gl=nl',
'q=' . urlencode('from: '.$from.' to: '.$to)
);
$url = 'http://maps.google.com/maps/geo?q=1600+Amphitheatre+Parkway,+Mountain+View,+CA&output=json&oe=utf8\
&sensor=true_or_false&key=2C7xtgwQX2YNcXPGRmTxSVcjjxJqAAeQx91QwkxKWiOs3OaRS4UBr9viQBs2r8jHpkdaCUndGiGg
' . 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 = '2C7xtgwQX2YNcXPGRmTxSVcjjxJqAAeQx91QwkxKWiOs3OaRS4UBr9viQBs2r8jHpkdaCUndGiGg';
$from = '3062TB, Rotterdam, Nederland';
$to = '2907GG, Capelle aan den IJssel, Nederland';
$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/>';
//wow ik kan php afsluiten :o
?>
Toevoeging op 21/04/2011 10:35:15:
in mijn geval wil ik het gebruiken voor het bereken van de afstand naar mijn adres toe. op mijn website wil ik dat men door het invullen van hun eigen postcode ziet wat de afstand is tot mijn adres. het aantal kilometers wil ik gebruiken om daar een factor (benzine) aan te koppelen om zo tot een totaalprijs te komen voor het afleveren van het product.
Gewijzigd op 21/04/2011 10:36:17 door Jean de la Bruyere
Je moet die hele functie trouwens intact (lees: zoals in het voorbeeld) laten! Dan zal het goed moeten gaan.
Gewijzigd op 21/04/2011 10:52:27 door Arjan -
Je moet echt leren om duidelijk te zijn. Het is niet zo dat iedereen zomaar direct jouw code even gaat opslaan, op een webserver zetten en testen. Als je wilt geholpen worden, moet je zeggen wat er niet lukt.
Dus: wat lukt er niet?
Zoals Aar trouwens al aangaf, laat die ene key wat het was.
Gewijzigd op 21/04/2011 10:53:10 door Write Down
bedankt voor de tips ... nu alleen nog een invulveld creëren!
Gewijzigd op 21/04/2011 11:46:38 door Jean de la Bruyere
Ik gebruik dit script ook al een tijdje maar sinds twee weken werkt het niet meer krijg alleem naar Afstand: 0 km Tijdsduur: 0 minuten, kunnen jullie mij op weg helpen met wat er fout is. ik ben maar een beginner in PHP.
Zet error_reporting() eens op E_ALL....
Ben er achter wat het probleem was, ik heb oe=utf8, toegevoegd en de problemen zijn over
'key=' . $key,
'output=json',
'oe=utf8',
'gl=nl',
maar toch bedankt voor de reactie.
Ik krijg het ook maar niet voor elkaar om dit script te laten draaien.
Ik krijg alleen:
Afstand: 0 km
Tijdsduur: ~0 minuten
Ik heb de to en from veranderd en de key.
Quote:
Code (php)
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
33
34
35
36
37
38
39
40
41
42
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
33
34
35
36
37
38
39
40
41
42
<?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?' . 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 = 'ABQIAAAAKUN0YIco2Zlq7_fa-ksh7hRQb8m_H9-l_iGt8T3IyLnmSl4IqhT0vv7jDsbXF4-z6-w4KCTdBEa70Q';
$from = '7575, Oldenzaal, Nederland';
$to = '2665, Bleiswijk, Nederland';
$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 />';
//wow ik kan php afsluiten :o
?>
function zipcodeCalc( $from, $to, $key)
{
$data = array (
'key=' . $key,
'output=json',
'gl=nl',
'q=' . urlencode('from: '.$from.' to: '.$to)
);
$url = 'http://google.com/maps?' . 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 = 'ABQIAAAAKUN0YIco2Zlq7_fa-ksh7hRQb8m_H9-l_iGt8T3IyLnmSl4IqhT0vv7jDsbXF4-z6-w4KCTdBEa70Q';
$from = '7575, Oldenzaal, Nederland';
$to = '2665, Bleiswijk, Nederland';
$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 />';
//wow ik kan php afsluiten :o
?>
Zou dit graag willen gebruiken voor een project. Of weten jullie misschien een ander script wat ik zou kunnen gebruiken?
Johans oplossing al geprobeerd?
Ik heb zo kompleet het script uit het topic "afstand berekenen dmv postcodes" gehaald en de gegevens aangepast.