2

В моем приложении пользователь находится в определенном месте и ищет своих друзей, которые находились где-то в 10 милях от того места, где она находится. Как найти это с помощью FQL или графика? Единственный способ, который я вижу, - запустить поиск таким образом: https://graph.facebook.com/search?type=checkin, а затем выполнить результаты, чтобы узнать, какое местоположение находится в пределах 10 миль. Есть ли лучший способ для этого?Как найти знакомые прошлые проверки возле места?

Благодарим за помощь!

Doles

ответ

2

Хотя первоначальный ответ сделал работу для меня часть моей цели, он быстро стал неадекватным. Теперь, ударив головой о стену, он наконец сломался (не моя голова - стена). Вот еще два более эффективных способов, которые работают, чтобы найти то, что мне нужно:

Это, чтобы найти только возвраты:

ВЫБОР checkin_id, COORDS, tagged_uids, PAGE_ID ОТ приезда ГДЕ (author_uid IN (SELECT UID2 FROM друг WHERE uid1 = me()) или author_uid = me()) и coords.latitude < '45 .0 'и coords.latitude> '29' и coords.longitude> '- 175' и coords.longitude < '-5 «;

Это, чтобы найти все сообщения местоположение:

SELECT, идентификатор, PAGE_ID FROM location_post WHERE (author_uid IN (SELECT UID2 от друга WHERE UID1 = я()) или author_uid = я()) и coords.latitude < '45 +0,0' и coords.latitude> '29' и coords.longitude> '- 175' и coords.longitude < '-5'

+0

Хорошая находка, Facebook всегда меняет ситуацию, и, похоже, это отличное дополнение к их API. – DMCS

2

От http://developers.facebook.com/docs/reference/fql/location_post/

Это говорит

FQL таблица, которая возвращает сообщения, которые имеют место, связанное с ними и которые удовлетворяют по крайней мере, одно из следующих условий:

  • вас отметили в сообщении
  • друг был помечен в сообщении
  • вы автор Пост
  • друг автор Почты

Примечанием: Этот запрос может обрабатывать большое количество данных. Для того чтобы гарантировать, что управляемый объем данных будет возвращен в пределах разумного срока , вы должны указать недавнюю временную метку, чтобы сузить результаты .

сообщений Возвращение в пределах 10000 метров данного места:

SELECT id, page_id 
FROM location_post 
WHERE distance(latitude, longitude, '37.86564', '-122.25061') < 10000 
+0

Спасибо! Я следил за вашей ссылкой на документ, а также пробовал fql со своего поста, а также из ссылки. Некоторые из них работали, а другие - нет.В любом случае моя текущая цель решена. Большое спасибо. – doles

+0

Я не могу остановиться, потому что мне нужно как минимум 15 точек repu, и у меня есть только один. :) – doles

+0

Вы можете принять ответ без 15 очков репутации. Нажмите зеленую галочку и сделайте ее зеленой. :) – DMCS

 Смежные вопросы

  • Нет связанных вопросов^_^