cevap

86

Google Maps JavaScript için tam özellikli Client-side Geocoding API sağladığında Server-side Geocoding Web Service kullanmanın hiçbir avantajı görebilirsiniz. Her şeyden

Öncelikle, bu otomatik olarak aynı kaynak sorunu çözer ve ek olarak istek sınırları popüler bir site için çok büyük bir fark yaratabilir ki, istemci IP adresi için yerine sunucu IP adresi başına hesaplanacaktır. nedense hala sunucu tarafı web hizmeti kullanmak istiyorsanız

<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> 

, belki çok basit reverse proxy kurmak olabilir:

İşte JavaScript Geocoding API v3 kullanarak çok basit bir örnek Apache kullanıyorsanız mod_proxy'u kullanın. Bu, AJAX istekleriniz için göreceli yolları kullanmanıza izin verirken, HTTP sunucusu herhangi bir "uzak" konuma proxy görevi görecektir.

Mod_proxy'de bir ters proxy oluşturmak için temel yapılandırma yönergesi ProxyPass'tır. Bu durumda

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

, tarayıcı /geocode/output?parameters bir istek yapabilir ancak sunucu http://maps.google.com/maps/api/geocode/output?parameters bir vekil olarak hareket ederek bu hizmet verecek şöyledir: Genellikle kullanmak.

+0

Teşekkürler, böyle bir sınıfın varlığından haberdar değildim. Sorunumu çözer :) –

+0

@Daniel Vassallo, API'yı kullanmanın http://maps.google.com/maps/place ile karşılaştırılmasında farklılıklar fark ettiniz mi? Bu URL'yi kullanırken daha iyi sonuçlar elde ediyorum. Bu bölüm hakkında daha fazla bilginiz var mı? Örneğin, Google şu adresi bulabilir: http://bit.ly/9wxOL2 AMA Birkaç gün boyunca API kullanarak aynı konumu bulmaya çalıştım. – wenbert

+0

@wenbert: Evet Birkaç kez fark ettim. Hatta harita görüntülerinin (uydu ve yol haritalarının) maps.google.com ve Haritalar API'sinden biraz farklı olmasını bile buldum. Örneğin, maps.google.com ve Google Haritalar API'sı görüntülerini karşılaştırırken tüm adanın sınırının kuzeye 100 metre kadar telafi edildiği bir fırsat buldum. –