2013-05-16 72 views
1

我注意到了四方搜索API的奇怪之處。當我在城市中指定一個位置的緯度和經度時,我沒有找到離我最近的場所。爲什麼Foursquare搜索不會返回距離我指定位置最近的場地?

對於搜索參數我使用:

  • LL = 47.620918,-122.318455(在西雅圖附近,WA)
  • 意圖=瀏覽
  • 半徑= 48 280(約30英里)
  • 的categoryId = 4d4b7105d754a06374d81259(食品),4d4b7105d754a06376d81259(夜生活)

venues/search?ll=47.620918,-122.318455&intent=browse&radius=42820&categoryId=4d4b7105d754a06374d81259,4d4b7105d754a06376d81259

我希望這個查詢返回最接近指定經緯度+長位置和食物或夜生活類別的場地。這不是我所看到的。相反,陣列中的第一個場地是768米外的場地,第二個場地是2162米,第三個場地是722米。

這裏的食物和夜生活場所距離經緯度700米遠。

有人會認爲我應該採取的結果,並基於該distance屬性進行排序他們自己但這似乎有缺陷的原因有二:

  1. 如果返回的地點列表不是最接近我的位置,我錯過了很多場地,因爲它們不能滿足查詢結果的最大限制。所以即使我根據distance屬性排序,我只是將不應被視爲附近的場地進行排序。

  2. 我給搜索API指定一個lat + long的原因是讓foursquare在「附近」對我做了很大的提升。如果我需要排序,那有什麼意義?還有要作出四角不應返回那些更適合您的場地的說法,但是這就是爲什麼我使用intent=browse,而不是意圖=籤

對於intent=browsedocs說:

查找給定區域內的場地。與登記意向不同,瀏覽搜索整個區域,而不是僅查找離某個點最近的場所。

我在做什麼錯了,我沒有得到最近的場地返回到指定的拉特+長?

回答

2

就像文檔說的那樣,當你使用intent=browse時,Foursquare不會「only [find]最靠近一個點的場所。」當你使用帶有ll/radius的intent=browse時,想象這是設置一個區域並向Foursquare詢問來自該區域的「最佳」結果。它不是說「找到我開始的結果,直到半徑增長。「除非它的描述下指定的intent

一般來說,Foursquare的搜索不保證在任何特定的順序結果,不幸的是沒有這些指定結果將返回通過增加半徑來分類的。

+0

好眼力,我誤讀了這些文檔,並將它讀爲'..browse搜索整個區域,查找最接近點的場所'。'而不是'是我錯過的關鍵部分:) – TMC

+3

您對最佳方式有任何想法到最近的地點去一個點?這似乎是一個很大的遺漏功能。 – TMC

+0

'intent = checkin'將是你最好的選擇在這裏 – octopi

相關問題