2

私のアプリでは、ユーザーはある場所にいて、自分がいる場所から10マイル離れた場所にいる友達を探しています。FQLまたはグラフでこれを見つけるにはどうすればよいですか?私が見ることができる唯一の方法は、 https://graph.facebook.com/search?type = checkinのような検索を実行し、結果を実行して、10マイル以内にある場所を見つけることです。これにはもっと良い方法がありますか?

ご協力いただきありがとうございます!

ドールズ

4

2 に答える 2

2

http://developers.facebook.com/docs/reference/fql/location_post/から

それは言う

場所が関連付けられており、次の条件の少なくとも1つを満たす投稿を返すFQLテーブル。

  • あなたは投稿でタグ付けされました
  • 友達が投稿でタグ付けされました
  • あなたは投稿を作成しました
  • 友人が投稿を作成しました

:このクエリは大量のデータを処理できます。管理可能な量のデータが妥当な時間枠内に返されるようにするには、最近のタイムスタンプを指定して結果を絞り込む必要があります。

指定された場所から10,000メートル以内の投稿を返します。

SELECT id, page_id
FROM location_post
WHERE distance(latitude, longitude, '37.86564', '-122.25061') < 10000
于 2012-06-05T21:42:45.577 に答える
2

最初の答えは私の目的の一部にはうまくいきましたが、すぐに不十分になりました。今、頭を壁にぶつけた後、ついに壊れました(頭ではなく、壁です)。必要なものを見つけるために機能する2つのより良い方法を次に示します。

これは、チェックインのみを検索するためのものです。

SELECT checkin_id, coords, tagged_uids, page_id FROM checkin WHERE (author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) または author_uid=me()) および coords.latitude<'45.0' および coords.latitude>'29' およびcoords.longitude>'-175' および coords.longitude<'-5';

これは、すべての場所の投稿を見つけるためのものです:

SELECT id, page_id FROM location_post WHERE (author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) または author_uid=me()) and coords.latitude<'45.0' and coords.latitude>'29' and coords.longitude> '-175' および coords.longitude<'-5'

于 2012-10-14T16:34:22.030 に答える