2014-05-01 141 views
-1

我的應用程序從每隔幾個小時更新的文件中獲取地址,並對它們進行地理編碼並將它們放在谷歌地圖上。OVER_QUERY_LIMIT Google地理編碼API v3 AJAX

即使應用程序在幾天內還沒有被使用,Over_query_limit也會返回。

有些時候地理編碼成功了,其他地方甚至在沒有達到限制時也會返回over_query_limit。

如果在該地理代碼上達到over_query_limit,我在查詢上放置了3秒的延遲。然後重新運行具有相同地址的代碼以再次對其進行地址解析。

var xmlhttp 
var status; 

if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp = new XMLHttpRequest(); 
} 
else{// code for IE6, IE5 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} 

var lAddress = tAddress.replace(/ /g, " +"); 


xmlhttp.open("GET","http://maps.googleapis.com/maps/api/geocode/json?address=" + lAddress +"&sensor=false", false); 

xmlhttp.onreadystatechange = function(){ 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200){ 

     var result = JSON.parse(xmlhttp.responseText); 

     status = result.status; 


     if(status == google.maps.GeocoderStatus.OK){ 
      precise[index].found = 1; 
      precise[index].lat = result.results[0].geometry.location.lat; 
      precise[index].lng = result.results[0].geometry.location.lng; 
      precise[index].addr = tAddress; 

     } 
     else if(status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT){ 
      alert("Search limit reached. Please try again tomorrow."); 
     } 
    } 
} 


xmlhttp.send(); 
+0

爲什麼使用JavaScript的Web服務?使用[Google Maps JavaScript API v3地理編碼服務](https://developers.google.com/maps/documentation/javascript/geocoding)。 – geocodezip

回答

0

其實谷歌有其限制使用地理編碼,如果你不使用支付一個,所以當位置創建它有初步認識的地址保存到數據庫,並使用我會建議得到利用地理編碼LAT是多頭多頭土地增值稅按照您的您可以使用服務器端地理編碼,因此與客戶端相比,您將獲得更多的限制,check this

相關問題