À l'aide de PHP curl () pour extraire les données JSON (de l'API Google Maps)

Je suis assez nouveau en JSON, et je vais essayer d'obtenir la latitude et la longitude d'un géocodées ville à partir de l'API Google Maps à l'aide de curl. La fonction que j'utilise est:

function geocode($city){
   $cityclean = str_replace (" ", "+", $city);
   $details_url = "http://maps.googleapis.com/maps/api/geocode/json?address=" . $cityclean . "&sensor=false";

   $ch = curl_init();
   curl_setopt($ch, CURLOPT_URL, $details_url);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   $geoloc = json_decode(curl_exec($ch), true);

   $step1 = $geoloc['results'];
   $step2 = $step1['geometry'];
   $coords = $step2['location'];

   print $coords['lat'];
   print $coords['lng'];

}

Le but de tout cela est de tirer la lat et de gnl valeurs à partir des Résultats -> Géométrie -> Emplacement le tableau suivant JSON:

{
"status": "OK",
"results": [ {
"types": [ "locality", "political" ],
"formatted_address": "Westminster, London, UK",
"address_components": [ {
"long_name": "London",
"short_name": "London",
"types": [ "locality", "political" ]
}, {
"long_name": "Westminster",
"short_name": "Westminster",
"types": [ "administrative_area_level_3", "political" ]
}, {
"long_name": "Greater London",
"short_name": "Greater London",
"types": [ "administrative_area_level_2", "political" ]
}, {
"long_name": "England",
"short_name": "England",
"types": [ "administrative_area_level_1", "political" ]
}, {
"long_name": "United Kingdom",
"short_name": "GB",
"types": [ "country", "political" ]
} ],
"geometry": {
"location": {
"lat": 51.5001524,
"lng": -0.1262362
},
"location_type": "APPROXIMATE",
"viewport": {
"southwest": {
"lat": 51.3493528,
"lng": -0.3783580
},
"northeast": {
"lat": 51.7040647,
"lng": 0.1502295
}
},
"bounds": {
"southwest": {
"lat": 51.3493528,
"lng": -0.3783580
},
"northeast": {
"lat": 51.7040647,
"lng": 0.1502295
}
}
}
} ]
}

Cependant, il n'a pas d'imprimer quoi que ce soit. Je sais que la fonction avec succès récupère le JSON à partir de Google et qu'il apporte à mon serveur, comme je l'ai fait imprimer un relevé de l'état de la valeur et il est revenu "OK". Le problème semble être quand je l'ai essayer et de se plonger plus profondément dans le JSON.

Désolé si c'est un simple problème, mais comme je l'ai dit, je suis nouveau à cela et ça me rend fou maintenant.

Merci beaucoup! 🙂

InformationsquelleAutor Jack W | 2011-04-02