Antwort

86

Ich sehe keinen Vorteil in der Verwendung der Server-side Geocoding Web Service, wenn Google Maps bietet eine voll ausgestattete Client-side Geocoding API für JavaScript.

Zunächst löst dies automatisch Ihr Problem mit demselben Ursprung, und zusätzlich werden die Anforderungslimits pro Client-IP-Adresse anstatt pro Server-IP-Adresse berechnet, was für eine beliebte Site einen großen Unterschied machen kann.

Hier ist ein sehr einfaches Beispiel das JavaScript Geocoding API 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> 

Wenn aus irgendeinem Grund immer noch Sie die serverseitige Web-Service nutzen möchten, können Sie eine sehr einfache reverse proxy einrichten, vielleicht Verwenden Sie mod_proxy, wenn Sie Apache verwenden. Auf diese Weise können Sie relative Pfade für Ihre AJAX-Anforderungen verwenden, während der HTTP-Server als Proxy für jeden "Remote" -Ordner fungiert.

Die grundlegende Konfigurationsanweisung zum Einrichten eines Reverse-Proxy in mod_proxy ist der ProxyPass. Sie würden es in der Regel wie folgt verwenden:

ProxyPass  /geocode/  http://maps.google.com/maps/api/geocode/ 

In diesem Fall wird der Browser eine Anfrage an /geocode/output?parameters machen könnte, aber der Server würde dies dienen, indem sie als Proxy http://maps.google.com/maps/api/geocode/output?parameters handeln.

+0

Danke, mir war die Existenz einer solchen Klasse nicht bekannt. Es löst mein Problem :) –

+0

@Daniel Vassallo, haben Sie Unterschiede bei der Verwendung der API im Vergleich zu http://maps.google.com/maps/place festgestellt? Ich erhalte bessere Ergebnisse bei der Verwendung dieser URL. Haben Sie weitere Informationen zu diesem Teil? Zum Beispiel kann Google dies finden: http://bit.ly/9wxOL2 Aber ich habe versucht, den gleichen Ort mit der API für ein paar Tage jetzt ohne Erfolg zu finden. – wenbert

+0

@wenbert: Ja, ich habe das bei einigen Gelegenheiten bemerkt. Ich habe sogar festgestellt, dass einige Kartenbilder (sowohl Satelliten- als auch Straßenkarten) sich geringfügig von maps.google.com und der Google Maps-API unterscheiden. Zum Beispiel habe ich eine Gelegenheit gefunden, bei der die Grenze einer ganzen Insel um 100 m nach Norden versetzt wird, wenn man die Bilder von maps.google.com und der Google Maps API vergleicht. –