Je ne vois aucun avantage à utiliser le Server-side Geocoding Web Service lorsque Google Maps fournit un Client-side Geocoding API complet pour JavaScript. Tout d'abord, cela résout automatiquement votre problème de même origine, et en plus les limites de la demande seraient calculées par adresse IP du client au lieu de l'adresse IP par serveur, ce qui peut faire une énorme différence pour un site populaire.
Voici un exemple très simple en utilisant l'API JavaScript géocodage v3:
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var geocoder = new google.maps.Geocoder();
var address = 'London, UK';
if (geocoder) {
geocoder.geocode({ 'address': address }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
console.log(results[0].geometry.location);
}
else {
console.log("Geocoding failed: " + status);
}
});
}
</script>
Si pour une raison quelconque, vous voulez continuer à utiliser le service Web côté serveur, vous pouvez configurer un très simple reverse proxy, peut-être en utilisant mod_proxy si vous utilisez Apache. Cela vous permettrait d'utiliser des chemins relatifs pour vos requêtes AJAX, alors que le serveur HTTP agirait comme un proxy pour tout emplacement "distant".
La directive de configuration fondamentale pour configurer un proxy inverse dans mod_proxy est le ProxyPass. Vous utiliserez généralement comme suit:
ProxyPass /geocode/ http://maps.google.com/maps/api/geocode/
Dans ce cas, le navigateur pourrait faire une demande de /geocode/output?parameters
mais le serveur serviriez en agissant comme mandataire à http://maps.google.com/maps/api/geocode/output?parameters
.
Merci, je n'étais pas au courant de l'existence d'une telle classe. Il résout mon problème :) –
@Daniel Vassallo, avez-vous remarqué des différences dans l'utilisation de l'API par rapport à http://maps.google.com/maps/place? J'obtiens de meilleurs résultats en utilisant cette URL. Avez-vous plus d'informations sur cette partie? Par exemple, Google peut localiser ceci: http://bit.ly/9wxOL2 MAIS j'ai essayé de localiser le même endroit en utilisant l'API pendant quelques jours maintenant sans aucun succès. – wenbert
@wenbert: Oui, j'ai remarqué que dans quelques occasions. J'ai même trouvé que certaines images cartographiques (à la fois des cartes satellites et routières) étaient légèrement différentes de maps.google.com et de l'API Google Maps. Par exemple, j'ai trouvé une occasion où la frontière d'une île entière est compensée par quelque 100 mètres vers le nord lorsque l'on compare les images de maps.google.com et de l'API Google Maps. –