API google de V2 vers V3 avec json_decode
Bonjour,
Jusqu'a present j'utilise le code suivant pour recuperer le pays, la region et la ville d'une coordonnee LAT, LNG
Code:
1 2 3 4 5 6 7 8 9 10
| $url = "http://maps.google.com/maps/geo?q=$lat,$lng&output=json&oe=utf8&sensor=false&key=$api_key";
$data = @file_get_contents($url);
$jsondata = json_decode($data,true);
if(is_array($jsondata )&& $jsondata ['Status']['code']==200)
{
$region = $jsondata ['Placemark'][0]['AddressDetails']['Country']['AdministrativeArea']['AdministrativeAreaName'];
$pays = $jsondata ['Placemark'][0]['AddressDetails']['Country']['CountryName'];
$ville = $jsondata ['Placemark'][0]['AddressDetails']['Country']['AdministrativeArea']['SubAdministrativeArea']['Locality']['LocalityName'];
} |
Ca fonctionne bien mais j'ai lu que la version V2 de l'api Google va bientot disparaitre. Je voudrais donc passrer ce code a la version V3 mais j'ai du mal a trouver les informations pour realiser ceci.
j'ai ecrit cela
Code:
1 2 3 4 5 6 7 8 9
| $lat=45.500702;
$lng=-73.559115;
$jsonurl = "http://maps.googleapis.com/maps/api/geocode/json?latlng=$lat,$lng&sensor=false";
$json = file_get_contents($jsonurl,0,null,null);
$json_output = json_decode($json, true);
$json_output = (array) $json_output;
$region = $json_output ['administrative_area_level_1']; |
mais region ne retourne aucune valeur.
par contre si je fais un print_r sur $json_output j'obtiens les bonne valeurs dans un tableau mais je ne sais pas comment les recuperer.
Code:
Array ( [results] => Array ( [0] => Array ( [address_components] => Array ( [0] => Array ( [long_name] => 468 [short_name] => 468 [types] => Array ( [0] => street_number ) ) [1] => Array ( [long_name] => McGill St [short_name] => McGill St [types] => Array ( [0] => route ) ) [2] => Array ( [long_name] => Ville-Marie [short_name] => Ville-Marie [types] => Array ( [0] => neighborhood [1] => political ) ) [3] => Array ( [long_name] => Montreal [short_name] => Montreal [types] => Array ( [0] => locality [1] => political ) ) [4] => Array ( [long_name] => Communauté-Urbaine-de-Montréal [short_name] => Communauté-Urbaine-de-Montréal [types] => Array ( [0] => administrative_area_level_2 [1] => political ) ) [5] => Array ( [long_name] => Quebec [short_name] => QC [types] => Array ( [0] => administrative_area_level_1 [1] => political ) ) [6] => Array ( [long_name] => Canada [short_name] => CA [types] => Array ( [0] => country [1] => political ) ) [7] => Array ( [long_name] => H2Y 2H1 [short_name] => H2Y 2H1 [types] => Array ( [0] => postal_code ) ) ) [formatted_address] => 468 McGill St, Montreal, QC H2Y 2H1, Canada [geometry] => Array ( [location] => Array ( [lat] => 45.5007167 [lng] => -73.5590722 ) [location_type] => ROOFTOP [viewport] => Array ( [northeast] => Array ( [lat] => 45.5020656803 [lng] => -73.5577232197 ) [southwest] =>
Merci de votre aide