Problemen met google maps
Ik heb enkele jaren geleden dit script gebruikt.
Nu wens ik het opnieuw te gebruiken maar dit werkt niet meer.
Ik zie ook niet wat er fout is.
Hopelijk kunnen jullie me helpen.
Alvast bedankt.
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
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
<?php
function postCodeBerekener($van, $naar) {
$data = array (
'output=json',
'gl=nl',
'q=' . urlencode('from: '.$van.' to: '.$naar)
);
$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);
}
}
$van = '5643 JR, Eindhoven, Nederland';
$naar = '5692 EN, Son en Breugel, Nederland';
$input = iconv('UTF-8', 'UTF-8//IGNORE', utf8_encode(postCodeBerekener($van, $naar)));
$fetch = json_decode($input);
echo 'Afstand: '.round($fetch->Directions->Distance->meters/1000,2).' km<br />';
echo 'Tijdsduur: ~'.round($fetch->Directions->Duration->seconds/60).' minuten<br />';
?>
function postCodeBerekener($van, $naar) {
$data = array (
'output=json',
'gl=nl',
'q=' . urlencode('from: '.$van.' to: '.$naar)
);
$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);
}
}
$van = '5643 JR, Eindhoven, Nederland';
$naar = '5692 EN, Son en Breugel, Nederland';
$input = iconv('UTF-8', 'UTF-8//IGNORE', utf8_encode(postCodeBerekener($van, $naar)));
$fetch = json_decode($input);
echo 'Afstand: '.round($fetch->Directions->Distance->meters/1000,2).' km<br />';
echo 'Tijdsduur: ~'.round($fetch->Directions->Duration->seconds/60).' minuten<br />';
?>
Wat werkt er niet? Wat gebeurt er? Wat meldt $str?
kom ik op de pagina van google
404. That’s an error.
The requested URL /maps/nav was not found on this server. That’s all we know. Afstand: 0 km
Tijdsduur: ~0 minuten
Alvast bedankt
https://developers.google.com/maps/documentation/javascript/directions
Of deze:
https://developers.google.com/maps/documentation/directions/intro
Let erop dat er nu een 'pay-as-you-go pricing plan' aan vasthangt.
Gewijzigd op 04/05/2019 12:42:54 door - Ariën -