Facebook fql距离台上无法正常工作



我想知道为什么此FQL查询不起作用

SELECT page_id, name,type, distance(latitude, longitude, "37.7873589", "-122.408227") FROM place WHERE type="PLACE" AND 5000 < distance(latitude, longitude, "37.7873589", "-122.408227") ORDER BY distance(latitude, longitude, "37.7873589", "-122.408227") ASC LIMIT 10

但是这个起作用

SELECT page_id, name,type, distance(latitude, longitude, "37.7873589", "-122.408227") FROM place WHERE type="PLACE" AND 5000 > distance(latitude, longitude, "37.7873589", "-122.408227") ORDER BY distance(latitude, longitude, "37.7873589", "-122.408227") ASC LIMIT 10

区别在于,在第二个中,使用大于">"。但是在第一个中,我使用的是少于"&lt;"

我想使用Facebook Place距离分页。

我发现了一个解决方案。我这样做的原因是因为我想以远距离为单位。如果您获得了最后一个结果的距离,则可以使用Not()将下一个结果分页,以排除这样的5000米中的任何内容:

SELECT page_id, name,type, distance(latitude, longitude, "37.7873589", "-122.408227") FROM place WHERE type="PLACE" AND distance(latitude, longitude, "37.7873589", "-122.408227") < 50000   AND  NOT (page_id IN( SELECT page_id FROM place WHERE  distance(latitude, longitude, "37.7873589", "-122.408227") < 5000 )) ORDER BY distance(latitude, longitude, "37.7873589", "-122.408227") ASC 

您的非工作示例试图从指定的坐标中获取5km 或更多,这几乎是地球上的每个地方 - API根本不会将这么多数据退还给您。

我相信Facebook API最多支持从位置搜索

最新更新