2011-06-23 11 views
4

私は位置情報ベースのアプリケーションを開発しています。そして、私はジオロケーションを得るために信頼できるソースが必要です。プロダクションサーバでジオコーダを使用する

今私はこのgeocoderプラグインを使用しています。

と私はこのエラーを取得しています: -

Geocoding API not responding fast enough (see Geocoder::Configuration.timeout to set limit). 

5の私たちのチームは、ステージングサーバー上で

をテストしているとき、私はエラーを取得しています、私はいくつかの〜10K要求日と十分な速ソリューションが必要です1秒あたりの制限はありません

PS:私は有料サービスを利用しています。

EDIT

あなたはアメリカニューヨークで何かを検索したい場合を考えます。テキストボックスにnewyorkと入力し、Enterキーを押します。サーバー側では、newyork用のジオコードを取得し、それに基づいてdbを検索する必要があります。

+0

考えられる解決策: http://stackoverflow.com/questions/26093393/geocoding-api-not-responding-fast-enough-for-ip-address 私はこのヘルプあなたを願っています! –

答えて

11

あなたは、あなたが限界に見舞われることはありません(JavaScriptで)クライアント側をジオコードする必要があります

Server-side geocoding, through the Geocoding Web Service has a quota of 2,500 requests per IP per day, so all requests in one day count against the quota. In addition, the Web Service is rate-limited, so that requests that come in too quickly result in blocking. Client-side geocoding through the browser is rate limited per map session, so the geocoding is distributed across all your users and scales with your userbase. Geocoding quotas and rate limits drive the strategies outlined in this article.

When to Use Client-Side Geocoding

The basic answer is "almost always". As geocoding limits are per IP address, that limit counts against the consumer of your application. It's going to be very rare that someone is going to enter more than 2,500 addresses a day sitting at their computer. Therefore, running client-side geocoding, you generally don't have to worry about your quota.

http://code.google.com/apis/maps/articles/geocodestrat.html

+0

私は貴重な地図を探していません。 NewYorkで何かを検索したい場合を考えてみましょう。テキストボックスにnewyorkと入力し、Enterキーを押します。サーバー側では、newyork用のジオコードを取得し、それに基づいてdbを検索する必要があります。 –

+0

これがポイントです。javascriptで "new york"クライアント側をジオコードし、フォームの非表示入力にGoogleレスポンスを送信できます。私はすでにこれに対処しました:それは動作し、apiの制限はありません。 – Mike

+0

@モハトあなたを大歓迎です!あなたは私の返信を受け入れることができる:) – Mike

0

これは、おそらくWebベースのサービスで発生する可能性があります。これらのタスクをバックグラウンドジョブマネージャ(Resqueまたは遅延ジョブなど)に送信することを検討してください。このジョブマネージャは、失敗したジョブをユーザーに中断させることなく再試行します。また、ユーザは、サードパーティの(そして断続的な)Webアプリケーションが応答するのを待つ必要がないため、アプリケーションをより速く見せることができます。

+0

しかし、私はそれを必要とします。私は遅れて仕事にそれを渡すことができません。 –

0

maxmind.comを使用してみてください - これはIPアドレスに基づいて地理のルックアップを行います。彼らはあなたのサーバー上のあなたの店舗に無料または有料のデータベースを持っています。彼らはRuby APIを持っています。私はこれを運用システムで使用し、データがキャッシュされると、ルックアップは通常、ミリ秒未満です。ここ

関連する問題