1

foursquare 検索 API で奇妙なことに気付きました。自分の都市の場所の緯度と経度を指定すると、自分に最も近い場所が表示されません。

私が使用している検索パラメータについて:

  • ll = 47.620918,-122.318455 (ワシントン州シアトルの近所)
  • 意図 = ブラウズ
  • 半径 = 48 280 (約 30 マイル)
  • categoryId = 4d4b7105d754a06374d81259 (食べ物)、4d4b7105d754a06376d81259 (ナイトライフ)

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

このクエリは、指定された緯度経度の場所に最も近く、食べ物またはナイトライフのカテゴリにある会場を返すと期待しています。これは私が見ているものではありません。代わりに、配列の最初の会場は 768 メートル離れた場所、2 番目は 2162 メートル、3 番目は 722 メートル離れた場所です。

その緯度と経度から 700 メートルよりもはるかに近い場所に、飲食店やナイトスポットがあります。

結果を取得し、属性に基づいて自分で並べ替える必要があると主張する人もいるかもしれませんdistanceが、これには次の 2 つの理由から問題があるようです。

  1. 返された会場リストが自分の場所に最も近くない場合、多くの会場がクエリ結果の最大制限内に収まらないため、多くの会場を見逃しています。なので、distance属性でソートしたとしても、近くにあるとは考えられない会場しかソートしていません。

  2. 検索 API に lat+long を指定する理由は、「近く」にあるものについて、foursquare に面倒な作業を任せるためです。ソートする必要がある場合、何がポイントですか?foursquare があなたにより関連性の高い会場を返すべきではないという議論がありますが、これが私intent=browseが意図=チェックインの代わりに使用している理由です

の場合intent=browseドキュメントは次のように述べています。

指定されたエリア内の会場を検索します。チェックイン インテントとは異なり、ブラウズは、ポイントに最も近い会場を見つけるだけでなく、地域全体を検索します。

最も近い会場が指定された緯度経度に戻らないように、私は何を間違っていますか?

4

2 に答える 2

2

ドキュメントにあるように、 を使用するintent=browseと、Foursquare は「ポイントに最も近い会場のみを [検索] する」わけではありません。ll/radiusを使用する場合はintent=browse、リージョンを設定し、Foursquare にこのリージョンからの「最良の」結果を求めることを想像してください。「この ll から半径まで成長する結果を見つけてください」と言っているわけではありません。

一般に、フォースクエア検索は、 の説明で指定されていない限り、結果が特定の順序になることを保証しませんintent。残念ながら、これらのいずれも、結果が半径の昇順でソートされて返されることを指定していません。

于 2013-05-16T21:40:57.720 に答える
0

これが古いスレッドであることは知っていますが、sortByDistance=1 をパラメーターとして使用して、場所に最も近い会場を並べ替えることができることを人々に知らせたかっただけです。

于 2021-06-22T08:55:06.760 に答える