developers - facebook places api
Lugares de Facebook: ordenar resultados por distancia (1)
Parece que es posible usar esta FQL. La función contains
parece funcionar igual que la q=
Graph API param. Aquí está su ejemplo que usa contains
SELECT page_id, name, description, latitude, longitude, checkin_count, distance(latitude, longitude, "37.76", "-122.427")
FROM place
WHERE distance(latitude, longitude, "37.76", "-122.427") < 1000
AND CONTAINS("coffee")
ORDER BY distance(latitude, longitude, "37.76", "-122.427")
LIMIT 20
¿Alguien sabe cómo ordenar los lugares de Facebook por distancia desde una ubicación de búsqueda? Tenga en cuenta que no quiero pedir resultados en mi aplicación cliente. Quiero que el servidor de Facebook me proporcione resultados ordenados para facilitar la paginación. Siempre quiero agregar lugares de consultas posteriores al final de mi matriz.
Esto no parece posible usando la consulta API de gráficos como:
https://graph.facebook.com/search?q=coffee&type=place¢er=37.76,-122.427&distance=1000& .... porque no hay forma de decirle a Facebook que ordene los resultados. El lugar más cercano puede ser el último en la lista de resultados devueltos.
He intentado replicar la consulta anterior utilizando FQL
pero tengo un problema porque los campos de nombre y descripción en la tabla de lugares de Facebook no son indexables. FQL como por ejemplo:
SELECT
page_id, name, display_subtext, description,
distance(latitude, longitude, "37.76", "-122.427"), checkin_count
FROM place
WHERE ((distance(latitude, longitude, "37.76", "-122.427") < 25000)
AND (strpos(lower(name), "coffee") >= 0
OR strpos(lower(description), "coffee") >= 0))
ORDER BY distance(latitude, longitude, "37.76", "-122.427") ASC
LIMIT 20 OFFSET 0
El problema con esto es que el name
y la description
los campos no se pueden indexar en la tabla de lugares. Esto significa que no todos los resultados son devueltos por el FQL, hay muchos resultados faltantes.
¿Sabe alguien una forma de hacer ésto?