2011-11-03 10 views
2

現在、複数のマーカーをオンザフライでジオコードするGoogleマップがありますが、すぐにジオコードの制限にぶつかっていました。Googleマップのジオコード制限を回避する別の方法

初期の回避策として、各ジオコード要求の間に時間の遅延を設定しました。これは、各マーカーをジオコーディングするためにX秒間にX分を待たなければならないので、マーカーが即座にプロットされないことを意味するため、不十分であることが判明しました。

その後、すべてのマーカーを即座にプロットしたGoogle Fusion Tablesを試しましたが、リアルタイムデータでの作業は困難でした。自分のWordpressデータベースで動作させる方法がないように思えるので、リアルタイムデータを取得しています。 (または少なくとも私はそれがしている例を見つけることができません)。

ジオコード制限を回避する他の方法は何ですか?誰でも正しい方向に向けることができます。

私の要件は次のとおりです。

  1. マーカー(または少なくとも最小の待ち時間で)瞬時にプロットする必要があります。
  2. 私のWordpressデータで作業する必要があります。
  3. データはリアルタイムである必要があります。つまり、何かがWordpressで編集/更新された場合、変更は地図データにフィルタリングする必要があります。
  4. Wordpressのデータは難読化されているか、少なくとも取得が困難です。
+1

ジオコーディングの結果をローカルデータベーステーブルにキャッシュすると考えましたか?それは人々が通常行うことです。 –

+0

@Pekkaどうすればいいですか? – Rob

+0

通常、ジオコーディングの結果はmySQLデータベースに格納されます。問題の住所のフィールドと緯度/経度のフィールドは2つです。Googleにリクエストする前に、住所があるかどうかを確認します最初にローカルにファイルします。 @Mitchが以下のように示唆しているものはかなりあります –

答えて

1

あなたがジオコーディングについて詳しく知りません。その理由は、サーバーで結果をキャッシュすることを考えましたか?同じアドレスに対して多くのリクエストを行っている場合、APIコールを何度も浪費することは意味がありません。

PHPスクリプトをプロキシとして設定し、データベースのキャッシュテーブルでアドレスを調べ、存在する場合はDBから値を返します。それが存在しない場合は、API呼び出しを行い、結果をDBに格納し、ジオコーディングされた情報を返します。

各リクエストが異なるアドレス用であり、同じアドレスを複数回ジオコードすることはほとんどありませんが、これは解決策ではありません。

+0

私は現時点で127社のアドレスをジオコーディングしています。アドレスはあまり変更されない可能性がありますが、これらは複数のユーザーによって入力されるため、緯度/経度の座標を入力する必要はありません。現在のところ127がありますが、これにいくつかの企業が追加されます。 – Rob

+0

私は周りを見てきましたが、これは良い方向に向いています。私が従うことができるコード例がありますか? – Rob

+0

Googleでは実際にあなたがフォローできるサンプルコードを提供しています:http://code.google.com/apis/maps/articles/phpsqlgeocode.html。それは私がそれをする方法ではありませんが、それはあなたに良い出発点を与えるはずです。 –

関連する問題