3

私は PHP でデート アプリケーションを作成しています: 私のアプリケーションには、人の位置から一定の距離内にある適切なユーザー プロファイルを検索する検索ページがあります (検索するマイル数/キロ数を指定する必要があります)。

これを実装するロジックは理解しています (参照: MySQL 空間データを使用して、Google マップで最も近い場所を取得します)。世界中の各場所の地理的位置を格納するデータベースをどこで取得できるかわかりません。これは無料で利用できますか?利用可能な場合は、プレミアム バージョンもチェックしてみてください。

また、クエリの検索速度も懸念されます。このような巨大なデータベース全体を検索すると、オーバーヘッドが発生します。これに取り組む最善の方法は何ですか?

どんな提案でも大歓迎です。

よろしく、セニエル

4

1 に答える 1

1

それは非常に単純に聞こえます...ユーザーに住所を尋ねてから、次のように経度と緯度のGoogleマップAPIをリクエストします

http://maps.googleapis.com/maps/api/geocode/json?address=San+Stefano+1+Sofia&sensor=false

それらをデータベースに書き込みます。

ユーザーが近くの人を検索したとき

編集(円にはなりませんが、仕事はします):

SELECT * FROM `users` AS u
WHERE u.lat IS BETWEEN {$my_lat-100} AND {$my_lat+100}
AND u.alt IS BETWEEN {$my_alt-100} AND {$my_lat+100}

あなたが言及した投稿のように。

于 2011-04-05T13:45:17.403 に答える