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 つの理由から問題があるようです。
返された会場リストが自分の場所に最も近くない場合、多くの会場がクエリ結果の最大制限内に収まらないため、多くの会場を見逃しています。なので、
distance
属性でソートしたとしても、近くにあるとは考えられない会場しかソートしていません。検索 API に lat+long を指定する理由は、「近く」にあるものについて、foursquare に面倒な作業を任せるためです。ソートする必要がある場合、何がポイントですか?foursquare があなたにより関連性の高い会場を返すべきではないという議論がありますが、これが私
intent=browse
が意図=チェックインの代わりに使用している理由です
の場合intent=browse
、ドキュメントは次のように述べています。
指定されたエリア内の会場を検索します。チェックイン インテントとは異なり、ブラウズは、ポイントに最も近い会場を見つけるだけでなく、地域全体を検索します。
最も近い会場が指定された緯度経度に戻らないように、私は何を間違っていますか?