1

次の API 呼び出しを使用して、FourSquare API を使用してニューヨークのいくつかの場所を取得しようとしています。

https://api.foursquare.com/v2/venues/search?ll=40.7,-74&limit=50

理解できないのは、呼び出しで検索結果が 50 件 (最大) に制限されている場合、さらに多くの場所を取得するにはどうすればよいですか? Facebook API を使用すると返される結果はランダムだったので、複数の呼び出しを発行してより多くの結果を取得できましたが、FourSquare は同じ結果セットを返しているようです。より多くの場所を取得する良い方法はありますか?

編集:

Ok。それで、私が契約上の合意に違反している可能性があるというコメントがありましたが、なぜそうなるのかはわかりません. この理由を喜んで受け入れます。私の疑問は次のとおりです。仮に、私が探している場所が、返された 50 件の結果に含まれていないとしましょう。その場合、ページネーションのメカニズムがどこかにあるはずではありませんか?

4

2 に答える 2

2

ここの API ドキュメントが役に立ちます。

フォースクエア検索は、指定した場所の「ポイント」(クエリの「ll」パラメーター) に非常に密接に関連しています。簡単な答えは、特定のエリア内でより多くの会場を見つけるには、そのエリア内の別の場所「ポイント」で再度クエリを実行するだけです。

2 つのクエリ。どちらも互いに近いポイントにあります。

https://api.foursquare.com/v2/venues/search?ll=40.700,-74.000&limit=50
https://api.foursquare.com/v2/venues/search?ll=40.705,-74.005&limit=50

2 つの異なる会場のセットが得られます (ポイントがどれだけ近いかによって、重複する場合があります)。

検索メソッドのデフォルトの意図は「チェックイン」で、そのポイントに最も近い 50 の最も人気のある場所を返します。代わりに、エリア内のすべての会場を見たい場合は、'browse' インテントを使用できます。これは、指定された半径で指定されたポイントの周りの円の内側にある会場を返す「radius」パラメータを取るか、長方形の「sw」と「ne」の角を表す 2 つの座標を取ります。したがって、次のことができます。

https://api.foursquare.com/v2/venues/search?ll=40.705,-74.005&limit=50&intent=browse&radius=50

これにより、その地点の周囲 50m の円内に 50 の会場が表示されます。半径を小さくすると、返される会場の数が減ります。そのため、検索する半径とポイント (または 'sw' と 'ne' パラメーターで記述される四角形のサイズと位置) を変えることで、返される会場を増やすことができます。

それが役立つことを願っています。

于 2011-11-17T10:00:04.260 に答える
1

現在のAPIでは結果が50に制限されています。会場が見つからないように、座標をより正確に変更してみてください。

ページネーションはいいのですが、50は検索の場所がたくさんあります。

于 2011-09-08T21:14:51.717 に答える