0

それが私のシナリオです: ユーザーの場所に基づいて (HTML5 地理位置情報を使用して) ユーザーの興味のある場所のリストを読み込みたいと考えています。しかし、問題は、場所のリストが非常に大きいことです (データベースからすべての場所をロードする必要はありません)。そのため、これまで採用してきた解決策は、特定の半径の結果に対して mysql を呼び出すことだけです。ユーザーから、たとえば 1 km です。しかし、ユーザーがGoogleマップをドラッグしてマップを探索しているときに、マップに表示されているエリアの場所を徐々にロードしたいと思います(基本的に、フォースクエアが行うことと似ています)。

それを達成する簡単な方法はありますか?質問が明確であることを願っています。事前に感謝します。助けていただければ幸いです。

イエス。

4

1 に答える 1

1

一般的方法:

  1. マップの境界を取得し、現在表示されているマーカーについてデータベースにクエリを実行します
    • オプションで、境界にパディングを追加して、マップがドラッグされた場合に一部のマーカーがビューの外で使用できるようにします
  2. 結果のマーカーを表示する
  3. マップが移動したとき (bounds_changed イベント)、追加のマーカーについてデータベースに問い合わせます
  4. 返されたマーカーを処理し、新しいマーカーのみを追加します (既存のマーカーの配列と、既存のマーカーと新しくダウンロードされたマーカーが同じであることを判断する方法が必要です)

Google Maps API v3 グループ(およびGoogle Maps API v2 グループ、概念は適用されますが、コード サンプルは適用されない場合があります) を検索すると、いくつかの例が得られます。

于 2012-08-17T15:32:20.570 に答える