2010-07-16 115 views
2

谷歌服務的地理編碼請求限制爲2400。即使每個請求被緩存並且沒有重複,如果請求是從Rails應用程序進行的,它可能會超過此限制。谷歌地理編碼限制

短購買高級包(我不知道的成本),我還能怎麼樣呢?

感謝

回答

2

我做我的地理編碼的使用geokit應用程序服務器。這允許我使用他們的多地理編碼器對yahoo地圖進行備份。那樣 - 如果一個失敗了,另一個成功。 Geokit也爲這兩種服務提供了一個相同的接口,所以你只需要編碼到一個抽象層。谷歌限制是每臺服務器每天,所以如果你有多個應用服務器,你可以分散負載來增加你的限制。雅虎的限制是5000 /服務器/天。

希望這會有所幫助,祝你好運!

+0

http://code.google.com/apis/maps/faq.html#geocoder_limit,在這裏說,2500 – badnaam 2010-07-16 02:00:24

+0

哇,不知道這事發生!我更新了我的帖子。 – 2010-07-16 02:29:06

+0

我正在使用MultiGeocoder並仍達到極限。我想我今天在家工作... – Chris 2011-10-05 15:11:18

0

這是我做過什麼: 1.儘量使用導航的定位功能。 2.如果失敗,使用谷歌齒輪(我不認爲它會消耗谷歌限制) 3.如果失敗使用谷歌地圖API 4.如果失敗(超限),大地定位基於用戶IP和數據庫的MaxMind(免費)

這裏的源可能會有所幫助:gvkalra.appspot.com/reachme

+0

導航器的位置功能,請你解釋一下嗎? – badnaam 2010-07-16 21:14:10

+0

@badnaam:請參考這裏:http://www.w3.org/TR/geolocation-API/ – 2010-07-27 01:26:46

3

我相信,如果你對地理編碼,你不會有地理編碼限制的任何問題的客戶端。調用google.maps.Geocoder()和google.loader.ClientLocation()都會計算客戶端機器的IP而不是您的服務器IP。如果你需要一些服務器端的話,我會第二個Geoff的建議,使用Geokit的多地理編碼器。

+1

你能指點我一些資源或共享如何geocodeon客戶端的細節?例如,在我的Rails應用程序中,我嘗試將郵件附近的郵編進行地理編碼,如何從瀏覽器中執行此操作? – badnaam 2010-07-16 21:15:06

+1

這裏是一個例子。格式化抱歉。 var geocoder = new google.maps.Geocoder(); geocoder.geocode({ '地址': '123士巴丹拿聖加拿大多倫多'},功能(結果,狀態){如果(狀態== google.maps.GeocoderStatus.OK){警報(結果[0] .geometry.location );}}) api文檔中還有更多信息:http://code.google.com/apis/maps/documentation/javascript/reference.html#Geocoder 我還沒有做過任何反向地理編碼尚未完成,但其可能大致相同。 google.loader.ClientLocation()與地圖V3這麼想的工作還沒有(不知道爲什麼,但我相信它會很快。 – mikewilliamson 2010-07-17 02:39:24

+0

可以拳打示例代碼爲螢火有Google地圖網頁上,它應該工作如果你只有一個郵政編碼,那麼這可能不是你需要的東西,無論哪種情況都應該給你一個出發點,Geokit可以做Posts.find(:all,:origin => [ - 44.4419 ,170.1419],:在=> 200內),一旦你有一個latlng作爲客戶端的起點,你也可以閱讀關於latlngbounds對象的文章 http://code.google。com/apis/maps/documentation/javascript/reference.html#LatLngBounds 這些是我認爲您需要的部分。 – mikewilliamson 2010-07-17 03:04:31

0

您可以使用谷歌融合表來對您的數據進行地理編碼。那裏的限制非常高。

+0

你能解釋一下如何用Rails做到這一點?有沒有寶石? – danieldekay 2013-01-13 13:20:33