Bonjour à vous,
Je vous explique mon soucis :
Je dois parcourir ma BDD afin d'en récupérer les adresses pour que celles-ci puissent être géocoder en coordonnées GPS.
Cependant certaines adresses ne passent pas, exemple ici en rouge : LYON CEDEX 09
Voici mon code :Il faudrais donc que pour ".$data['Ville']" je puisse interdire CEDEX et tout ce qui peut apparaitre ensuite ( ou simplement les chiffres ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
43 <?php include("connectionBDD.php"); connexionBDD(); $sql = 'SELECT * FROM 'TABLE' WHERE Ismap = 1'; $req = mysql_query($sql) or die('Erreur SQL!<br />'.$sql.'<br />'.mysql_error()); $lat = 'NULL'; $lng = 'NULL'; while ($data = mysql_fetch_array($req)) { if ($data['Pays'] == "FRANCE METROPOLE"){ // Pour ne pas mettre FRANCE METROPOLE dans la reqûete car cela pose problème $adresseBrut = urlencode($data['Adresse']." ".$data['Adresse2']." ".$data['CodePostal']." ".$data['Ville']); }else{ $adresseBrut = urlencode($data['Adresse']." ".$data['Adresse2']." ".$data['CodePostal']." ".$data['Ville']." ".$data['Pays']); } $url = "http://maps.googleapis.com/maps/api/geocode/json?address=".$adresseBrut."&sensor=false"; $ch = curl_init(utf8_encode($url)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($httpCode == 200) { $geocode = json_decode($result); $lat = $geocode->results[0]->geometry->location->lat; $lng = $geocode->results[0]->geometry->location->lng; $formatted_address = $geocode->results[0]->formatted_address; //$geo_status = $geocode->status; //$location_type = $geocode->results[0]->geometry->location_type; }else{ $geo_status = "HTTP_FAIL_$httpCode"; } echo "Latitude : ".$lat." & longitude : ".$lng." ! "; echo $url; } ?>
Any idea, please ?
Merci à vous.
Partager