2012-06-20 162 views
1

當試圖通過Google地理編碼獲取緯度和經度時,我對OVER_QUERY_LIMIT有疑問。即使我已經等了超過24小時,它也無法工作。我沒有超過2500個請求,最多是100個。使用Google地圖時出現OVER_QUERY_LIMIT問題地理編碼

問題OVER_QUERY_LIMIT只發生在我的服務器(webhotel)上。當使用我的本地機器(本地主機)時,我完全沒有遇到任何問題。

我覺得有一個塊在某個地方,但我不確定。誰能幫我嗎?

+0

您是通過IP地址進行地理編碼還是提交街道地址以獲取座標? – Matt

+0

我通過提交地址進行地理編碼以獲取經緯度。我在同一個webhotel提供商上有另一個域名,在那裏我沒有遇到任何問題。 – user1469142

+0

謝謝;我相應地更新了我的答案。 – Matt

回答

0

如果您處於共享服務器環境中,則可能是同一IP上的其他人正在主動查詢Google地理編碼服務。這就是爲什麼在你的本地主機上(它有不同的IP地址),你根本沒有遇到任何問題。

更新(基於評論以上):既然你提到它的矛盾是有點怪異,我不是100%肯定是什麼的原因。但是,最好的解決方案可能是尋找允許地理編碼集成的服務,並且最好允許您保留結果。您還會不必要地將所有查詢放在沒有真正存在的地址上(或者您至少會得到錯誤的座標)。

事情我已經在SmartyStreets上工作時被稱爲LiveAddress - 就像谷歌的API,但更易於使用,而且只返回有效結果(這意味着你不會得到座標爲不地址存在)。它是免費的,可能沒有查詢限制,並且從來沒有任何TOS限制可能會在這裏遇到。而且我很確定,即使您查詢了地址,也不會在您的帳戶中扣除無法驗證的地址。

所以這是另一個選項,您可以考慮解決您遇到的限制。

0

如果你有自己的API密鑰,只需通過添加您的信用卡信息(谷歌只是用它們來驗證的目的,他們不會收你的,除非你purcase谷歌API總理)驗證您的帳戶。這會將每天的限制提高到250,000個請求,併爲您提供唯一的API密鑰和實時統計信息。

您可以在Google API console中執行此操作。

0
$output= json_decode(stripcslashes(file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?latlng='.$data['lat'].','.$data['lon'].'&sensor=false&language=ru'))); 
print $output->results[0]->formatted_address
相關問題