Google webservices et cartographie
L'api la plus connue de google maps est la librairie javascript qui permet de faire du mashup avec leurs cartes. Il existe toutefois d'autres possibilitées pour exploiter leurs données. On peut facilement géolocaliser une adresse postale et la convertir en coordonnées géographiques.
Une simple requete http GET suffit :
http://maps.google.com/maps/geo?q=2+rue+victor+hugo+26000+valence+fr&output=csv&key=placer ici votre clé google maps api
Le format de retour est un fichier csv d'une ligne et de 4 colonnes
La colonne 1 correspond à un code retour d'erreur ou de succès
| Code statut de la requète | Description |
| (200) G_GEO_SUCCESS | Aucune erreur ne s'est produite. L'adresse a été analysée avec succès et ses coordonnées GPS (Latitude, Longitude) ont été retournées. |
| (400) G_GEO_BAD_REQUEST | La demande n'a pu être analysée avec succès. |
| (500) G_GEO_SERVER_ERROR | La demande n'a pu être traitée avec succès. La raison exacte de l'échec est inconnue. |
| (601) G_GEO_MISSING_QUERY | Le paramètre "q" de la requète HTTP est manquant ou n'a aucune valeur. Pour les demandes de "géocodage", cela signifie qu'une adresse vide a été indiquée dans la requète. Pour les demandes de directions, cela signifie qu'aucune question n'a été indiquée dans la requète. |
| (601) G_GEO_MISSING_ADDRESS | Synonyme de G_GEO_MISSING_QUERY. |
| (602) G_GEO_UNKNOWN_ADDRESS | Aucun lieu géographique correspondant à l'adresse indiquée n'a pu être trouvé. Cela peut être dû au fait que l'adresse est relativement nouvelle, ou qu'elle est peut être incorrecte. |
| (603) G_GEO_UNAVAILABLE_ADDRESS | Les coordonnées GPS (Latitude, Longitude) pour l'adresse donnée ou l'itinéraire demandé n'ont pu être retournées pour des raisons légales ou contractuelles. |
| (604) G_GEO_UNKNOWN_DIRECTIONS | GDirections n'a pas pu calculer d'itinéraire entre les points mentionnés dans la requète. Soit parce qu'il n'y a aucun itinéraire disponible entre les deux points, soit parce que nous ne disposons pas des données couvrant cette région. |
| (610) G_GEO_BAD_KEY | La clef indiquée est invalide ou n'est pas attribuée au domaine pour lequel elle a été donnée. |
| (620) G_GEO_TOO_MANY_QUERIES | Le nombre de requètes, pour la clef donnée, a dépassé le quota des demandes autorisées pour une période de 24 heure. |
La deuxième est un code de précision (de 1 à 8)
Si vous faite une demande sur une ville, sans nom de rue vous aurez une valeur plus faible que si vous demander aussi une rue
| Code | Description |
| 0 | Localisation impossible. |
| 1 | Niveau d'exactitude : Pays. |
| 2 | Niveau d'exactitude : Région (état, province, préfecture, etc.). |
| 3 | Niveau d'exactitude : Région secondaire(comté, municipalité, etc.). |
| 4 | Niveau d'exactitude : Ville (ville, village). |
| 5 | Niveau d'exactitude : Code (code postal). |
| 6 | Niveau d'exactitude : Rue. |
| 7 | Niveau d'exactitude : Intersection. |
| 8 | Niveau d'exactitude : Adresse. |
La troisième est la latitude
La dernière est la longitude
Une variante permet de récupérer une fichier xml. Il suffit de changer csv par xml dans la requete. On a alors quelques informations complémentaires
comme la région et le département.
