2011-05-03 6 views
0

J'utilise Google Maps api pour obtenir les coordonnées des emplacements en utilisant le code suivant:Google maps obtenir Longtitude

$q = "Miami Florida"; //example location to query 
$api_key = "ABQIAAAA..."; 

$handle = fopen("http://maps.google.com/maps/geo?q=".urlencode($q)."&sensor=false&oe=utf8&gl=en&output=csv&key=".$api_key,"r"); 
$data = fgetcsv($handle); ?> 

<?php echo $data[0]; ?> <br /> 
Latitude: <?php echo $data[2]; ?> <br /> 
Longtitude: <?php echo $data[1]; ?> 

Il retourne la latitude correcte (25,7889689), mais la longitude est toujours un chiffre comme 4 ou 5 .. Cela arrive avec n'importe quel endroit que je demande. Les données [0] devraient également être une recherche d'exactitude mais elle renvoie 200 .. je ne sais pas si c'est exact. Est-ce que quelqu'un peut m'informer de ce que je fais mal?

Répondre

2

Le premier élément est un code de réponse du serveur, ce qui dans votre cas est de 200 vous permet de savoir qu'il a réussi. Le deuxième élément est la précision. Le troisième et le quatrième sont la latitude et la longitude, respectivement.

Quand je suis entré http://maps.google.com/maps/geo?q=23943&sensor=false&oe=utf8&gl=en&output=csv dans mon navigateur j'ai reçu la sortie suivante:

200,5,33.4954920, -86,8094808

Si vous remplacez la sortie csv avec JSON vous récupérerez un match amical plus humain version.