2011-12-15 4 views
2

Je voudrais savoir s'il existe un moyen plus efficace d'obtenir plus de 50 résultats en plus de ces options?Foursquare Lieu API & Nombre de résultats, d'une manière plus efficace?

J'utilise le api foursquare actuel pour la recherche de lieu https://developer.foursquare.com/docs/venues/search. Ce que je voudrais, c'est quelque chose comme une option de décalage, afin d'obtenir plus de résultats, mais il semble qu'il n'y a pas une telle option.

Existe-t-il une solution alternative? Merci d'avance.

Répondre

1

Il est en fait une autre option non mentionnée (pas si la pagination)

Utilisation du filtre categoryId (expérimental?).

Vous pouvez rechercher un seul point (ll) plusieurs fois avec des identifiants de catégorie différents, ce qui vous donne beaucoup de résultats (certains doublons peuvent avoir plus d'une catégorie). Vous pouvez donc rechercher des lieux de restauration et des lieux de vie nocturne au même endroit, obtenant 100 résultats au stand de 50 .. comme dit 100 résultats, mais pas des résultats uniques, cela pourrait être des doublons. Je pense que c'est plus efficace que d'essayer de jouer avec le rayon de navigation.

Non pagination, mais donnera beaucoup plus de résultats qu'une recherche normale - généralement assez même dans les zones urbaines.

Mais oui, avoir une sorte de moyen d'extraire plus de 50 sur un seul point est impossible, mais pourrait être agréable :)

+0

Merci, je vais essayer ça. – cndv

+0

Je suis juste tombé sur ce vieux fil. Mes pensées: utilisez le categoryid ci-dessus, mais au lieu d'utiliser les points de latitude/longitude, utilisez les params se (sud-est) et nw (nord-ouest) pour définir une limite.Il vous permet de mieux couvrir une zone donnée que ne le font les appels lat/long superposés. Commencez avec une petite boîte de délimitation sensée que la plupart des recherches ne renvoient pas 50 résultats. (le max, ce qui indique qu'il y en a probablement plus). Pour ceux qui retournent 50 résultats, divisez le cadre de délimitation en 4 et rincez et répétez. –

+0

L'utilisation de l'intention de parcourir donne un résultat similaire si vous présentez un rayon avec un rayon. – Nath

0

Peur pas. Actuellement, il n'y a pas de pagination, afin de trouver plus de lieux dont vous avez besoin pour déplacer votre zone de recherche comme dans les réponses que vous avez mises en évidence. Je suis d'accord, pagination serait pratique si!

+0

Oui, ce serait bien, je pense que je vais essayer une combinaison de déplacer la zone de recherche et de changer le categoryId .. – cndv

1

vous devez utiliser les lieux à explorer avec décalage et limite comme paramters, lieux à explorer vous donne totalResults et vous pouvez utiliser cette réponse pour calculer le nombre de pages dont vous avez besoin paginate

par exemple supposer totalResults 90 (attention à la valeur de Parametr offset et limite) dans la première demande: https://api.foursquare.com/v2/venues/explore?client_id=client_id&client_secret=client_secret&v=20150825&near=city_name&categoryId=category_id&intent=browse&offset=0&limit=30

à la deuxième demande: https://api.foursquare.com/v2/venues/explore?client_id=client_id&client_secret=client_secret&v=20150825&near=city_name&categoryId=category_id&intent=browse&offset=30&limit=30

à la troisième demande: https://api.foursquare.com/v2/venues/explore?client_id=client_id&client_secret=client_secret&v=20150825&near=city_name&categoryId=category_id&intent=browse&offset=60&limit=30

pour 90 résultats que vous pouvez obtenir tous les enregistrements avec plus de trois

demande